# Ansible Welcome to ansible kb git repo. ## Table of Contents - [Docker](#docker) - [Environment variables](#environment-variables) - [Gitea actions](#gitea-actions) - [Build local](#build-local) ## Docker check [Docker Image](https://git.limbosolutions.com/kb/-/packages/container/ansible/latest). ``` docker pull git.limbosolutions.com/kb/ansible:latest docker run --rm \ -e ANSIBLE_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \ -e ANSIBLE_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \ -e ANSIBLE_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \ -e ANSIBLE_HOST_KEY_CHECKING=false \ -v ${VOLUME_PATH}:/project \ git.limbosolutions.com/kb/ansible:latest ``` ### Environment variables All [ansible official](https://docs.ansible.com/ansible/latest/reference_appendices/config.html) environment variables. - ANSIBLE_HOST_KEY_CHECKING (ansible official) - ANSIBLE_BECOME_PASS (ansible official) - ANSIBLE_REMOTE_USER - ANSIBLE_INVENTORY - ANSIBLE_PROJECT_DIR - ANSIBLE_HOST_KEY_CHECKING ### Gitea actions Example executing ansible playbook using gitea actions. ``` yaml name: deploy host on: push: paths: - "ansible/**" - ".gitea/workflows/**host**.yml" jobs: Deploy: runs-on: "homesrv-deploy" steps: - name: Checkout code uses: actions/checkout@v2 - name: setup ssh run: | echo "${{ secrets.HOST_ANSIBLE_PRIVATE_KEY }}" > ${GITHUB_WORKSPACE}/ssh-key && chmod 600 ${GITHUB_WORKSPACE}/ssh-key - name: Run Ansible Playbook run: | docker run --rm \ -e ANSIBLE_PRIVATE_KEY_FILE="${GITHUB_WORKSPACE}/ssh-key" \ -e ANSIBLE_REMOTE_USER="${{ secrets.HOST_ANSIBLE_REMOTE_USER }}" \ -e ANSIBLE_INVENTORY="${{ secrets.HOST_ANSIBLE_INVENTORY }}" \ -e ANSIBLE_PROJECT_DIR="${GITHUB_WORKSPACE}/ansible" \ -e ANSIBLE_HOST_KEY_CHECKING=false \ -e ANSIBLE_BECOME_PASS=${{ secrets.HOST_ANSIBLE_BECOME_PASS }} \ --volumes-from ${{ env.JOB_CONTAINER_NAME }} \ git.limbosolutions.com/kb/ansible \ ``` ### Build local ``` bash docker build docker-f docker/Dockerfile -t ${IMAGE_NAME} ``` [check script](./docker/docker-run-ansible-local.sh) for more information on building and running local.