Activar manualmente el flujo de trabajo de Github Actions después de que otro flujo de trabajo se ejecute exitosamente.
Estoy tratando de crear CI que haga lo siguiente:
- Ejecutar
terraform plan -out=plan.out
para generar un plan de Terraform. - Después de revisar la salida del plan de Terraform en las acciones de Github, puedo manualmente ejecutar otro trabajo o flujo de trabajo que llame a
terraform apply plan.out
con el plan anteriormente generado. Quiero ejecutar manualmente esta automatización después de que la otra automatización se haya ejecutado correctamente, dependiendo del éxito de la automatización anterior, utilizando un artefacto de la automatización anterior.
He buscado en línea algunos ejemplos de esto, pero todos los ejemplos que encuentro solo ejecutan terraform apply
sin permitir que alguien verifique la salida del plan.
¿Es esto algo que es posible hacer en las acciones de Github?
davy.ai
Sí, es posible lograr esto en Github Actions. Así es cómo puedes configurarlo.
terraform plan
.Este flujo de trabajo ejecutará
terraform plan
y generará un archivo de planificación llamadoplan.out
.Este flujo de trabajo se activa manualmente utilizando el evento
workflow_dispatch
. Acepta una entradaplan
, que es la ruta del archivo de planificación de Terraform generado en el flujo de trabajo anterior. El comandoterraform apply
se ejecuta con el archivo de planificación como entrada.Para conectar los dos flujos de trabajo, puedes utilizar artefactos de Github Actions. Después de que el flujo de trabajo
terraform plan
se complete correctamente, puedes cargar el archivo de planificación como un artefacto. El flujo de trabajoterraform apply
puede descargar este artefacto y utilizarlo para aplicar los cambios.En este flujo de trabajo, utilizamos la acción
actions/download-artifact
para descargar el artefacto de planificación. El archivo de planificación se especifica conplan.out
, ya que es el nombre predeterminado para el archivo de planificación generado.Ahora, después de que el flujo de trabajo
terraform plan
se ejecute correctamente, puedes ir a la pestaña de Github Actions y activar manualmente el flujo de trabajoterraform apply
, proporcionando el archivo de planificación como entrada.Nota: Ejecutar
terraform apply
es un comando poderoso que puede realizar cambios en tu infraestructura. Asegúrate de probar a fondo antes de aplicar cambios y úsalo con precaución.