You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/.gitlab-ci.yml

69 lines
1.9 KiB
YAML

---
variables:
AWX_EE_DOCKER_IMAGE_EXTERN: "dev-harbor-01.smardigo.digital/awx/awx-custom-ee"
image: docker.dev-at.de/smardigo/smardigo-ci-ansible
services:
- name: docker-cache.dev-at.de/docker:19-dind
alias: docker
stages:
- ansible-lint
- ansible-builder
- ansible-playbook
ansible-lint-job:
stage: ansible-lint
script:
- echo "Running ansible-lint to check for linting violations"
- ansible-lint -c ansible-lint.cfg
tags:
- dind
ansible-builder-job:
# A resource group ensures a job is mutually exclusive across different pipelines for the same project.
resource_group: deployment
stage: ansible-builder
before_script:
- cd ansible-builder
script:
- echo "Running ansible-build to build awx execution environment"
- ansible-builder build -v 3 --tag $AWX_EE_DOCKER_IMAGE_EXTERN:latest
- docker push $AWX_EE_DOCKER_IMAGE_EXTERN:latest
only:
- master
except:
- tags
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts
ansible-patchday-dev:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest
stage: ansible-playbook
script:
- export HETZNER_LABEL_SELECTOR='stage=dev'
- echo "${ANSIBLE_VAULT_PASS}" >> /tmp/vault-pass
- ansible-playbook -i stage-netgo-hcloud.yml patchday.yml --vault-password-file=/tmp/vault-pass -u root -l elastic -t check_elastic_cluster
after_script:
- rm /tmp/vault-pass
when: manual
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts
ansible-patchday-qa:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest
stage: ansible-playbook
script:
- export HETZNER_LABEL_SELECTOR='stage=qa'
- echo "${ANSIBLE_VAULT_PASS}" >> /tmp/vault-pass
- ansible-playbook -i stage-netgo-hcloud.yml patchday.yml --vault-password-file=/tmp/vault-pass -u root -l elastic -t check_elastic_cluster
after_script:
- rm /tmp/vault-pass
when: manual
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts