EGC 2021/2022

Ejercicio 5: Condiciones de despligue

Prácticas

Condiciones de jobs/steps en GitHub Actions

En GitHub Actions, los workflows tienen la capacidad de definir el/los evento/s que los disparan con la clausua "on:". Puedes ver https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestbranchestags aquí más detalles de dicha cláusula. Sin embargo eso no se puede especificar a nivel de job o de step. A esos niveles pueden expresarse sentencias "if" que permiten ejecutarlas condicionalmente. Puedes ver https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsif aquí más detalles de dicha cláusula.

Para hacer que solo se lance el job "deploy" cuando estemos en una rama concreta, por ejemplo, "master", incluiríamos lo siguiente:

deploy:
    if: ${{github.ref == 'refs/heads/master' }}

Despues de hacer un push del django.yml, haz un push a otra rama.

  • ¿Se lanza el workflow?
  • ¿Se lanza el job "deploy"? ¿En que estado se queda?

Modifica la clausula "on:" para que se lance el workflow solo cuando se hiciera push a la rama master. Despues de hacer un push del django.yml, haz un push a otra rama.

  • ¿Se lanza el workflow?