.ansible_lint: image: quay.io/ansible/toolset:3.5.0 stage: lint variables: EXTRA_ARGS: "" script: - ansible --version - ansible-lint $EXTRA_ARGS .ansible_playbook_validate: extends: .ansible_playbook_run rules: - when: always 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