Przeglądaj źródła

Enable Travis CI testing.

Jeff Geerling 11 lat temu
rodzic
commit
8ef999d267
3 zmienionych plików z 40 dodań i 0 usunięć
  1. 34 0
      .travis.yml
  2. 1 0
      tests/inventory
  3. 5 0
      tests/test.yml

+ 34 - 0
.travis.yml

@@ -0,0 +1,34 @@
+---
+language: python
+python: "2.7"
+
+env:
+  - SITE=test.yml
+
+before_install:
+  - sudo apt-get update -qq
+  - sudo apt-get install -y curl
+
+install:
+  # Install Ansible.
+  - pip install ansible
+
+  # Add ansible.cfg to pick up roles path.
+  - "printf '[defaults]\nroles_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)
+
+  # Request a page via Nginx, to make sure Nginx is running and responds.
+  - "curl http://localhost/"

+ 1 - 0
tests/inventory

@@ -0,0 +1 @@
+localhost

+ 5 - 0
tests/test.yml

@@ -0,0 +1,5 @@
+---
+- hosts: localhost
+  remote_user: root
+  roles:
+    - ansible-role-nginx