Diferencia entre revisiones de «Ejercicio 5: Condiciones de despligue»

De Wiki de EGC
Saltar a: navegación, buscar
(Página creada con «Página_Principal -> 2021/2022 -> Prácticas - 21/22 -> [Integración_Continua_y_Despliegue_Continuo_21-22] = Condiciones de jobs/steps en GitHub Actions = En...»)
 
 
Línea 1: Línea 1:
[[Página_Principal]] -> [[2021/2022]] -> [[Prácticas - 21/22]] -> [Integración_Continua_y_Despliegue_Continuo_21-22]
+
[[Página_Principal]] -> [[2021/2022]] -> [[Prácticas - 21/22]] -> [[Integración_Continua_y_Despliegue_Continuo_21-22]]
  
 
= Condiciones de jobs/steps en GitHub Actions =
 
= Condiciones de jobs/steps en GitHub Actions =
Línea 11: Línea 11:
 
Para hacer que solo se lance el job "deploy" cuando estemos en una rama concreta, por ejemplo, "master", incluiríamos lo siguiente:
 
Para hacer que solo se lance el job "deploy" cuando estemos en una rama concreta, por ejemplo, "master", incluiríamos lo siguiente:
  
<source>
+
<syntaxhighlight lang="YAML">
 
deploy:
 
deploy:
 
     if: ${{github.ref == 'refs/heads/master' }}
 
     if: ${{github.ref == 'refs/heads/master' }}
</source>
+
</syntaxhighlight>
  
 
Despues de hacer un push del django.yml, haz un push a otra rama.
 
Despues de hacer un push del django.yml, haz un push a otra rama.

Revisión actual del 12:40 14 dic 2021

Página_Principal -> 2021/2022 -> Prácticas - 21/22 -> Integración_Continua_y_Despliegue_Continuo_21-22

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 [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 [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?