Add a GitLab CI file
Note: Still not using GitLab for now, but this may help when I do
This commit is contained in:
parent
1d6192debf
commit
864b0a0511
40
.gitlab-ci.yml
Normal file
40
.gitlab-ci.yml
Normal file
@ -0,0 +1,40 @@
|
||||
image: ubuntu:focal
|
||||
stages:
|
||||
- test
|
||||
- play
|
||||
before_script:
|
||||
# Get the packages we need
|
||||
- apt-get update
|
||||
- apt-get install openssh-client python3-docker python3-pip -y
|
||||
- pip install ansible ansible-lint
|
||||
# Dump our key
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$ANSIBLE_SSH_KEY" | tr -d '\r' | ssh-add -
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod -R 0700 ~/.ssh
|
||||
# Dump the vault password
|
||||
- touch /vaultpw
|
||||
- chmod 0600 /vaultpw
|
||||
- echo "$ANSIBLE_VAULT_PASSWORD" > /vaultpw
|
||||
# Fix perms on the playbook root
|
||||
- chmod -R 0750 .
|
||||
# Get ready for execution
|
||||
- ansible-galaxy install -r roles/requirements.yml -p roles
|
||||
|
||||
Lint:
|
||||
allow_failure: yes
|
||||
stage: test
|
||||
script:
|
||||
- ansible-lint --version
|
||||
- ansible-lint site.yml
|
||||
|
||||
Test:
|
||||
allow_failure: yes
|
||||
stage: test
|
||||
script:
|
||||
- ansible-playbook --skip-tags no-test -C site.yml --vault-password-file /vaultpw
|
||||
|
||||
Play:
|
||||
stage: play
|
||||
script:
|
||||
- ansible-playbook site.yml --vault-password-file /vaultpw
|
Loading…
Reference in New Issue
Block a user