stages: - ping-test - deploy-test - ping-prod - deploy-prod ping-test: image: quotengrote/gitlab-ci-ansible:latest stage: ping-test interruptible: true before_script: - chmod 0755 /builds/mg/ansible - echo "$id_rsa_ansible_user" > /builds/mg/ansible/id_rsa_ansible_user - chmod 0400 /builds/mg/ansible/id_rsa_ansible_user script: - ansible -i inventory --limit test --vault-password-file $ansible_vault_pass all -m ping after_script: - rm /builds/mg/ansible/id_rsa_ansible_user rules: - if: $CI_MERGE_REQUEST_ID tags: - ansible ansible-deploy-test: image: quotengrote/gitlab-ci-ansible:latest stage: deploy-test interruptible: false before_script: - chmod 0755 /builds/mg/ansible - echo "$id_rsa_ansible_user" > /builds/mg/ansible/id_rsa_ansible_user - chmod 0400 /builds/mg/ansible/id_rsa_ansible_user script: - ansible-playbook playbooks/base/0_master.yml playbooks/service/* -i inventory --limit test --vault-password-file $ansible_vault_pass after_script: - rm /builds/mg/ansible/id_rsa_ansible_user rules: - if: $CI_MERGE_REQUEST_ID tags: - ansible ping-prod: image: quotengrote/gitlab-ci-ansible:latest stage: ping-prod interruptible: true before_script: - chmod 0755 /builds/mg/ansible - echo "$id_rsa_ansible_user" > /builds/mg/ansible/id_rsa_ansible_user - chmod 0400 /builds/mg/ansible/id_rsa_ansible_user script: - ansible -i inventory --limit production --vault-password-file $ansible_vault_pass all -m ping after_script: - rm /builds/mg/ansible/id_rsa_ansible_user rules: - if: $CI_COMMIT_BRANCH == 'master' tags: - ansible ansible-deploy-prod: image: quotengrote/gitlab-ci-ansible:latest stage: deploy-prod interruptible: false before_script: - chmod 0755 /builds/mg/ansible - echo "$id_rsa_ansible_user" > /builds/mg/ansible/id_rsa_ansible_user - chmod 0400 /builds/mg/ansible/id_rsa_ansible_user script: - ansible-playbook playbooks/base/0_master.yml playbooks/service/* -i inventory --limit production --vault-password-file $ansible_vault_pass after_script: - rm /builds/mg/ansible/id_rsa_ansible_user rules: - if: $CI_COMMIT_BRANCH == 'master' tags: - ansible # GitLab-CI-Vars # $ansible_vault_pass - Type: File # $id_rsa_ansible_user - Type: Variable