Skip to content

Instantly share code, notes, and snippets.

@toast38coza
Last active October 30, 2015 11:03
Show Gist options
  • Save toast38coza/c260ce41714f0fcbeba5 to your computer and use it in GitHub Desktop.
Save toast38coza/c260ce41714f0fcbeba5 to your computer and use it in GitHub Desktop.
Travis script for testing an Ansible playbook
---
language: python
python: "2.7"
env:
- SITE=test.yml
before_install:
- sudo apt-get update -qq
# You may need to forcibly remove all traces of
# what you will later install
install:
# Install Ansible.
- pip install ansible
# Add ansible.cfg to pick up roles path.
- "{ echo '[defaults]'; echo 'roles_path = ../'; } >> ansible.cfg"
script:
# Check the role/playbook's syntax.
- "ansible-playbook -i tests/inventory tests/$SITE --syntax-check"
# Run the role/playbook with ansible-playbook.
- "ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo"
# Run the role/playbook again, checking to make sure it's idempotent.
- >
ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo
| grep -q 'changed=0.*failed=0'
&& (echo 'Idempotence test: pass' && exit 0)
|| (echo 'Idempotence test: fail' && exit 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment