diff --git a/tasks/main.yml b/tasks/main.yml index f941a842e2f23d7b78c5c98a7df4b004b73dcfdb..66b00f42c15887853e0cd0552d7c68754112f985 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -36,4 +36,12 @@ groups: docker append: yes + - name: Deply ansible script to run inside Docker + template: + src: ansible.sh + dest: /usr/local/bin/ansible + owner: root + group: root + mode: 0755 + when: not excluded_roles or "gitlab-runner" not in excluded_roles diff --git a/templates/ansible.sh b/templates/ansible.sh new file mode 100644 index 0000000000000000000000000000000000000000..f4c7c69f397f24a32ffc83467527f4a956005dfa --- /dev/null +++ b/templates/ansible.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +COMPANY={{ lookup('env','ANSIBLE_COMPANY') }} +DOCKERIFACE=$(/sbin/ifconfig docker0 2>/dev/null | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1) +if [ "x${DOCKERIFACE}" != "x" ]; then + FLUENTD="--env FLUENTD_SERVER=${DOCKERIFACE}" +fi +docker run \ + --env ANSIBLE_LOG_PATH=/var/log/ansible/$COMPANY.log \ + --env FLUENTD_COMPANY=$COMPANY \ + ${FLUENTD} \ + --env-file /home/gitlab-runner/.a/environment \ + --volume /home/gitlab-runner/.ssh/id_rsa:/root/.ssh/id_rsa \ + --volume /home/gitlab-runner/.a/variables.yml:/root/.ansible/secrets \ + --volume /home/gitlab-runner/.a/inventories/$COMPANY:/root/.ansible \ + --volume /var/log/ansible:/var/log/ansible \ + registry.lakedrops.com/ansible-inventories/$COMPANY \ + $@