66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
stages:
|
|
- lint
|
|
- deploy-test
|
|
- deploy-prod
|
|
|
|
variables:
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
|
|
ansible-lint:
|
|
image: willhallonline/ansible:2.9-ubuntu-20.04
|
|
stage: lint
|
|
before_script:
|
|
- chmod 0755 /builds/mg/ansible
|
|
script:
|
|
- ansible-lint .
|
|
interruptible: true
|
|
allow_failure: true
|
|
rules:
|
|
- if: $CI_MERGE_REQUEST_ID
|
|
|
|
markdown-lint:
|
|
stage: lint
|
|
image: pipelinecomponents/markdownlint:latest
|
|
script:
|
|
- mdl --style all --warnings .
|
|
interruptible: true
|
|
allow_failure: true
|
|
rules:
|
|
- if: $CI_MERGE_REQUEST_ID
|
|
|
|
ansible-deploy-test:
|
|
image: willhallonline/ansible:2.9-ubuntu-20.04
|
|
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
|
|
- pip install 'pykeepass>3.2.0' --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
|
|
|
|
ansible-deploy-prod:
|
|
image: willhallonline/ansible:2.9-ubuntu-20.04
|
|
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
|
|
- pip install 'pykeepass>3.2.0' --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'
|
|
allow_failure: true
|
|
|
|
# GitLab-CI-Vars
|
|
# $ansible_vault_pass - Type: File
|
|
# $id_rsa_ansible_user - Type: Variable
|