documentation
All checks were successful
/ build-docker-image (push) Successful in 1m31s

This commit is contained in:
2024-09-07 11:41:42 +01:00
parent 522a2f854b
commit d701fdb2a4
3 changed files with 85 additions and 4 deletions

4
.gitignore vendored
View File

@@ -1,2 +1,2 @@
**/**env.local **/**.local
**/**.local **/.vscode/*

View File

@@ -7,3 +7,83 @@ Welcome to ansible kb git repo.
<!-- omit in toc --> <!-- omit in toc -->
## Table of Contents ## 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.

View File

@@ -1,5 +1,5 @@
#/bin/bash #/bin/bash
source docker/docker-run-ansible-local.env.local source .local/docker/.env
docker build docker \ docker build docker \
@@ -10,7 +10,8 @@ docker run --rm \
-e ANSIBLE_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \ -e ANSIBLE_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \
-e ANSIBLE_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \ -e ANSIBLE_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \
-e ANSIBLE_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \ -e ANSIBLE_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \
-v ${VOLUME_PATH}:/playbook-project.local $IMAGE_NAME -e ANSIBLE_HOST_KEY_CHECKING=false \
-v ${ANSIBLE_PLAYBOOK_PROJECT_VOLUME_DIR}:/project $IMAGE_NAME