es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo eliminar recursos de Terraform en GitLab?

Creo recursos a través de GitLab, pero no puedo eliminarlos. Al principio, genero el plan de artefactos para aplicarlo en apply. Luego se crean los recursos y después de la creación quiero eliminarlos. Pero no funciona eliminarlos, es imposible generarlos en out de la misma manera que el plan, y si simplemente escribo destroy, como en la terminal, el trabajo se ejecuta correctamente, pero no se elimina ningún recurso. Mi .gitlab-ci.yaml es así:

stages:
  - validate
  - plan
  - apply
  - destroy

before_script:
  - rm -rf .terraform
  - export AWS_ACCESS_KEY_ID
  - export AWS_SECRET_ACCESS_KEY  
  - terraform init

validate:
  stage: validate
  script:    
    - terraform validate
  tags:
    - shell-runner

plan:
  stage: plan
  script:
    - terraform plan -out "planfile"
  dependencies:
    - validate
  artifacts:
    paths:      
      - "planfile"      
  tags:
    - shell-runner

apply:
  stage: apply
  script:
    - terraform apply -input=false -auto-approve   
  dependencies:
     - plan
  tags:
    - shell-runner
  when: manual

destroy:
  stage: destroy
  script:
    - terraform destroy -state="planfile" -auto-approve
  tags:
    - shell-runner
  when: manual
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Podría haber algunas razones por las que no puedes eliminar los recursos creados a través de GitLab. Una posible razón podría ser que los recursos no estén siendo correctamente referenciados en el comando de destrucción.

    Según tu archivo gitlab-ci.yaml, parece que estás generando el plan en un archivo llamado “planfile” y luego utilizando este mismo archivo en el comando de destrucción especificando el archivo de estado mediante la bandera “-state”. Sin embargo, es importante asegurarse de que el archivo de estado al que se hace referencia sea realmente el correcto para los recursos que deseas eliminar.

    Puede que quieras verificar que el archivo de estado utilizado en el comando de destrucción sea el mismo que fue creado durante la etapa de aplicar y que contenga los recursos correctos.

    Además, si aún no puedes eliminar los recursos después de verificar el archivo de estado, puede que quieras intentar ejecutar el comando de destrucción con la bandera “-refresh=true”, la cual fuerza una actualización del estado antes de intentar eliminar los recursos.

    En general, es importante asegurarse de que estás referenciando el archivo de estado correcto y que contiene los recursos que deseas eliminar. Si continúas teniendo problemas, puede que quieras buscar más ayuda o consultar la documentación de Terraform para obtener más información.

Comments are closed.