chore: dry pattern

feature/DEV-380
Sven Ketelsen 4 years ago
parent 3bdbd689f6
commit 9222383ca6

@ -53,6 +53,8 @@ builder-job:
- dind - dind
- harbor # 05.02.22 TODO some runners run into timeouts - harbor # 05.02.22 TODO some runners run into timeouts
##################################################################################
.run-ansible: .run-ansible:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest
script: script:
@ -71,7 +73,6 @@ builder-job:
- dind - dind
- harbor # 05.02.22 TODO some runners run into timeouts - harbor # 05.02.22 TODO some runners run into timeouts
######## ########
### http://patorjk.com/software/taag/#p=display&f=Doom&t=setup.yml ### http://patorjk.com/software/taag/#p=display&f=Doom&t=setup.yml
### ###
@ -89,11 +90,6 @@ builder-job:
stage: run-setup stage: run-setup
script: script:
- ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml setup.yml --vault-password-file /tmp/vault-pass -t common -u gitlabci - ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml setup.yml --vault-password-file /tmp/vault-pass -t common -u gitlabci
after_script:
- rm /tmp/vault-pass
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts
run-kubernetes-dev: run-kubernetes-dev:
extends: .run-setup extends: .run-setup
@ -135,24 +131,10 @@ run-kubernetes-prodnso:
### |___/ ### |___/
.run-kubernetes: .run-kubernetes:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest extends: .run-ansible
stage: run-kubernetes stage: run-kubernetes
script: script:
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- 'echo "$GITLAB_SSH_KEY" | tr -d "\r" | ssh-add -'
- mkdir -p ~/.ssh
- chmod 0700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config'
- ssh-add -L
- echo "${ANSIBLE_VAULT_PASS_DEV}" > /tmp/vault-pass
- export HETZNER_LABEL_SELECTOR="stage=${STAGE}"
- ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml kubernetes.yml --vault-password-file /tmp/vault-pass -u gitlabci - ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml kubernetes.yml --vault-password-file /tmp/vault-pass -u gitlabci
after_script:
- rm /tmp/vault-pass
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts
run-kubernetes-dev: run-kubernetes-dev:
extends: .run-kubernetes extends: .run-kubernetes
@ -193,31 +175,17 @@ run-kubernetes-prodnso:
### __/ | __/ | ### __/ | __/ |
### |___/ |___/ ### |___/ |___/
.management: .run-management-update:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest extends: .run-ansible
# A resource group ensures a job is mutually exclusive across different pipelines for the same project.
stage: run-management-update stage: run-management-update
script: script:
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- 'echo "$GITLAB_SSH_KEY" | tr -d "\r" | ssh-add -'
- mkdir -p ~/.ssh
- chmod 0700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config'
- ssh-add -L
- echo "${ANSIBLE_VAULT_PASS_DEV}" > /tmp/vault-pass
- export HETZNER_LABEL_SELECTOR="stage=${STAGE}"
- ansible-playbook -i stage-$STAGE smardigo.yml --vault-password-file=/tmp/vault-pass -l management -t update_configurations -u gitlabci - ansible-playbook -i stage-$STAGE smardigo.yml --vault-password-file=/tmp/vault-pass -l management -t update_configurations -u gitlabci
only: only:
changes: changes:
- smardigo/**/* - smardigo/**/*
except:
- schedules
tags:
- dind
management-dev: run-management-update-dev:
extends: .management extends: .run-management-update
resource_group: dev resource_group: dev
before_script: before_script:
- export STAGE=dev - export STAGE=dev
@ -225,8 +193,8 @@ management-dev:
- main - main
- schedules - schedules
management-qa: run-management-update-qa:
extends: .management extends: .run-management-update
resource_group: qa resource_group: qa
before_script: before_script:
- export STAGE=qa - export STAGE=qa
@ -234,8 +202,8 @@ management-qa:
- qa - qa
- schedules - schedules
management-prodnso: run-management-update-prodnso:
extends: .management extends: .run-management-update
resource_group: prodnso resource_group: prodnso
before_script: before_script:
- export STAGE=prodnso - export STAGE=prodnso
@ -255,31 +223,15 @@ management-prodnso:
### | | __/ | __/ | ### | | __/ | __/ |
### |_| |___/ |___/ ### |_| |___/ |___/
.patchday: .run-patchday:
image: $AWX_EE_DOCKER_IMAGE_EXTERN:latest extends: .run-ansible
stage: run-patchday stage: run-patchday
script: script:
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- 'echo "$GITLAB_SSH_KEY" | tr -d "\r" | ssh-add -'
- mkdir -p ~/.ssh
- chmod 0700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config'
- ssh-add -L
- echo "${ANSIBLE_VAULT_PASS_DEV}" > /tmp/vault-pass
- export HETZNER_LABEL_SELECTOR="stage=${STAGE}"
- ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml patchday.yml patchday.yml --vault-password-file=/tmp/vault-pass -u gitlabci - ansible-playbook -i stage-${STAGE}-netgo-hcloud.yml patchday.yml patchday.yml --vault-password-file=/tmp/vault-pass -u gitlabci
after_script:
- rm /tmp/vault-pass
when: manual when: manual
only:
- main
tags:
- dind
- harbor # 05.02.22 TODO some runners run into timeouts
patchday-dev: run-patchday-dev:
extends: .patchday extends: .run-patchday
resource_group: dev resource_group: dev
before_script: before_script:
- export STAGE=dev - export STAGE=dev
@ -287,8 +239,8 @@ patchday-dev:
- main - main
- schedules - schedules
patchday-qa: run-patchday-qa:
extends: .patchday extends: .run-patchday
resource_group: qa resource_group: qa
before_script: before_script:
- export STAGE=qa - export STAGE=qa
@ -296,8 +248,8 @@ patchday-qa:
- qa - qa
- schedules - schedules
patchday-prodnso: run-patchday-prodnso:
extends: .patchday extends: .run-patchday
resource_group: prodnso resource_group: prodnso
before_script: before_script:
- export STAGE=prodnso - export STAGE=prodnso

Loading…
Cancel
Save