homeserver/.gitlab-ci.yml

107 lines
2.8 KiB
YAML
Raw Normal View History

2021-01-27 09:15:34 +01:00
stages:
2021-01-29 12:33:22 +01:00
- lint
- ping-test
2021-01-30 11:49:18 +01:00
- deploy-test
- ping-prod
2021-01-30 11:49:18 +01:00
- deploy-prod
2021-01-27 09:15:34 +01:00
ansible-lint:
2021-02-01 08:20:01 +01:00
image: quotengrote/gitlab-ci-ansible:latest
2021-01-29 12:33:22 +01:00
stage: lint
before_script:
- chmod 0755 /builds/mg/ansible
2021-01-27 09:15:34 +01:00
script:
- ansible-lint .
2021-01-29 12:33:22 +01:00
interruptible: true
allow_failure: true
rules:
- if: $CI_MERGE_REQUEST_ID
2021-02-01 08:20:01 +01:00
tags:
- ansible
2021-01-29 12:33:22 +01:00
markdown-lint:
stage: lint
image: pipelinecomponents/markdownlint:latest
script:
- mdl --style all --warnings --rules ~MD022,~MD013 .
2021-01-29 12:33:22 +01:00
interruptible: true
allow_failure: true
rules:
- if: $CI_MERGE_REQUEST_ID
2021-02-01 08:20:01 +01:00
tags:
- ansible
2021-01-29 12:33:22 +01:00
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
2021-01-30 11:49:18 +01:00
ansible-deploy-test:
2021-02-01 08:20:01 +01:00
image: quotengrote/gitlab-ci-ansible:latest
2021-01-30 11:49:18 +01:00
stage: deploy-test
2021-01-29 12:33:22 +01:00
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:
2021-01-30 11:49:18 +01:00
- ansible-playbook playbooks/base/0_master.yml playbooks/service/* -i inventory --limit test --vault-password-file $ansible_vault_pass
2021-01-29 12:33:22 +01:00
after_script:
- rm /builds/mg/ansible/id_rsa_ansible_user
rules:
- if: $CI_MERGE_REQUEST_ID
2021-02-01 08:20:01 +01:00
tags:
- ansible
2021-01-29 12:33:22 +01:00
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
2021-01-30 11:49:18 +01:00
ansible-deploy-prod:
2021-02-01 08:20:01 +01:00
image: quotengrote/gitlab-ci-ansible:latest
2021-01-30 11:49:18 +01:00
stage: deploy-prod
2021-01-29 12:33:22 +01:00
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:
2021-01-30 11:49:18 +01:00
- ansible-playbook playbooks/base/0_master.yml playbooks/service/* -i inventory --limit production --vault-password-file $ansible_vault_pass
2021-01-29 12:33:22 +01:00
after_script:
- rm /builds/mg/ansible/id_rsa_ansible_user
rules:
- if: $CI_COMMIT_BRANCH == 'master'
2021-02-01 08:20:01 +01:00
tags:
- ansible
2021-01-29 12:33:22 +01:00
# GitLab-CI-Vars
# $ansible_vault_pass - Type: File
# $id_rsa_ansible_user - Type: Variable