-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-entrypoint.sh
executable file
·45 lines (38 loc) · 1.5 KB
/
docker-entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
set -e
test -z ${override_variable} && echo "Missing environment variable: override_variable" && exit 1
printf "[defaults]\nroles_path=/etc/ansible/roles\n" > /ansible/ansible.cfg
if [ ! -f /etc/ansible/lint.zip ]; then
wget https://github.com/ansible/galaxy-lint-rules/archive/master.zip -O \
/etc/ansible/lint.zip
unzip /etc/ansible/lint.zip -d /etc/ansible/lint
fi
ansible-lint -c /etc/ansible/roles/${ansible_role}/.ansible-lint -r \
/etc/ansible/lint/galaxy-lint-rules-master/rules \
/etc/ansible/roles/${ansible_role}
ansible-lint -c /etc/ansible/roles/${ansible_role}/.ansible-lint -r \
/etc/ansible/lint/galaxy-lint-rules-master/rules \
/ansible/test.yml
ansible-playbook /ansible/test.yml \
-i /ansible/inventory \
--syntax-check
ansible-playbook /ansible/test.yml \
-i /ansible/inventory \
--connection=local \
--become \
-e "{ injected_dict: ${injected_dict} }" \
-e "{ injected_list: ${injected_list} }" \
-e "{ injected_variable: ${injected_variable} }" \
-e "{ override_variable: ${override_variable} }" \
$(test -z ${travis} && echo "-vvvv")
ansible-playbook /ansible/test.yml \
-i /ansible/inventory \
--connection=local \
--become \
-e "{ injected_dict: ${injected_dict} }" \
-e "{ injected_list: ${injected_list} }" \
-e "{ injected_variable: ${injected_variable} }" \
-e "{ override_variable: ${override_variable} }" | \
grep -q "changed=0.*failed=0" && \
(echo "Idempotence test: pass" && exit 0) || \
(echo "Idempotence test: fail" && exit 1)