Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.08 KiB
# docs: https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html#get-started-using-gitlab-ci


image: busybox:latest

variables:
  TF_ROOT_ELASTIC: ${CI_PROJECT_DIR}/manifests/elastic
  TF_ROOT_MAGENTO: ${CI_PROJECT_DIR}/manifests/magento

cache:
  - key: elastic
    paths:
      - ${TF_ROOT_ELASTIC}/.terraform
  - key: magento
    paths:
      - ${TF_ROOT_MAGENTO}/.terraform

check-elastic:
  stage: test
  tags:
    - docker
  image:
    name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest
    entrypoint: [""]
  variables:
    TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/elastic
    TF_VAR_ec_apikey: $EC_API_KEY
  script: |-
    cd $TF_ROOT_ELASTIC
    gitlab-terraform init 
    gitlab-terraform validate
    gitlab-terraform fmt -check
    gitlab-terraform plan
    gitlab-terraform plan-json
  artifacts:
    name: plan
    paths:
      - ${TF_ROOT_ELASTIC}/plan.cache
    reports:
      terraform: ${TF_ROOT_ELASTIC}/plan.json

check-magento:
  stage: test
  tags:
    - docker
  image:
    name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest
    entrypoint: [""]
  variables:
    TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/magento
    TF_VAR_ec_apikey: $EC_API_KEY
    TF_VAR_project_id: $GCP_PROJECT_ID
    GCP_SA_GITLAB: $GCP_SA_GITLAB
  script: |-
    cd $TF_ROOT_MAGENTO
    echo $GCP_SA_GITLAB > gcp-sa.json
    gitlab-terraform init 
    gitlab-terraform validate
    gitlab-terraform fmt -check
    gitlab-terraform plan
    gitlab-terraform plan-json
  artifacts:
    name: plan
    paths:
      - ${TF_ROOT_MAGENTO}/plan.cache
    reports:
      terraform: ${TF_ROOT_MAGENTO}/plan.json

apply-elastic:
  stage: deploy