This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,2 @@
|
|||||||
**/**env.local
|
|
||||||
**/**.local
|
**/**.local
|
||||||
|
**/.vscode/*
|
||||||
80
README.md
80
README.md
@@ -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.
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user