gilde-ci-cd/templates/IaC/ansible.gitlab-ci.yml

37 lines
993 B
YAML

.ansible_lint:
image: quay.io/ansible/toolset:3.5.0
stage: lint
interruptible: true
variables:
EXTRA_ARGS: ""
script:
- ansible --version
- ansible-lint $EXTRA_ARGS
.ansible_playbook_validate:
extends: .ansible_playbook_run
rules:
- when: always
interruptible: true
script:
- ansible --version
- ansible-playbook -i $INVENTORY_PATH $PLAYBOOK_PATH $EXTRA_ARGS --check
.ansible_playbook_run:
image: quay.io/ansible/toolset:3.5.0
variables:
ANSIBLE_HOST_KEY_CHECKING: 'false'
ANSIBLE_FORCE_COLOR: 'true'
PLAYBOOK_PATH: playbook.yml
INVENTORY_PATH: inventory.yml
EXTRA_ARGS: ""
rules:
- when: manual
before_script:
- 'command -v ssh-agent >/dev/null || ( apt-get update && apt -y install openssh-client )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
script:
- ansible-playbook -i $INVENTORY_PATH $PLAYBOOK_PATH $EXTRA_ARGS -vv