From 7b4f17ae79badae4be6a1088f85446571f6bcc98 Mon Sep 17 00:00:00 2001 From: "MH.Dmitrii" Date: Sun, 1 Mar 2026 02:34:28 +0300 Subject: [PATCH] feature ansible 0.0045 --- .gitignore | 3 ++- ansible/deploy.yml | 23 ++++++++++++++++++++ ansible/env_example | 3 +++ ansible/inventory.ini | 2 ++ docker/gitea_runner_image/dockerfile.ansible | 9 ++++++++ docker/gitea_runners/docker-compose.yaml | 12 ++++++++++ docker/gitea_runners/env_example | 3 +++ 7 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 ansible/deploy.yml create mode 100644 ansible/env_example create mode 100644 ansible/inventory.ini create mode 100644 docker/gitea_runner_image/dockerfile.ansible create mode 100644 docker/gitea_runners/docker-compose.yaml create mode 100644 docker/gitea_runners/env_example diff --git a/.gitignore b/.gitignore index e84520a..1b4d44e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,5 @@ hint.py *.env #db *.db -versions/ \ No newline at end of file +versions/ +data/ \ No newline at end of file diff --git a/ansible/deploy.yml b/ansible/deploy.yml new file mode 100644 index 0000000..f992933 --- /dev/null +++ b/ansible/deploy.yml @@ -0,0 +1,23 @@ +- hosts: servers + become: yes + tasks: + - name: Install Docker + shell: curl -fsSL https://get.docker.com | sh + args: + creates: /usr/bin/docker + + - name: Install git + apt: + name: git + state: present + update_cache: yes + + - name: Clone repo + git: + repo: ${GITEA_INSTANCE_URL} //как то передавать переменные + dest: /opt/infra + + - name: Start docker compose + shell: docker compose up -d + args: + chdir: /opt/infra \ No newline at end of file diff --git a/ansible/env_example b/ansible/env_example new file mode 100644 index 0000000..c6a7679 --- /dev/null +++ b/ansible/env_example @@ -0,0 +1,3 @@ +ansible-playbook -i inventory.ini deploy.yml -e "target_host=$HOST" +GITEA_INSTANCE_URL="..." +HOST="..." \ No newline at end of file diff --git a/ansible/inventory.ini b/ansible/inventory.ini new file mode 100644 index 0000000..5fc5b08 --- /dev/null +++ b/ansible/inventory.ini @@ -0,0 +1,2 @@ +[servers] +myserver ansible_user=root \ No newline at end of file diff --git a/docker/gitea_runner_image/dockerfile.ansible b/docker/gitea_runner_image/dockerfile.ansible new file mode 100644 index 0000000..f20c57e --- /dev/null +++ b/docker/gitea_runner_image/dockerfile.ansible @@ -0,0 +1,9 @@ +# Dockerfile.runner +FROM node:20-bullseye +# Устанавливаем зависимости +RUN apt-get update && apt-get install -y \ + curl \ + ansible \ + && rm -rf /var/lib/apt/lists/* +# Проверка версий +RUN node -v && npm -v && ansible --version \ No newline at end of file diff --git a/docker/gitea_runners/docker-compose.yaml b/docker/gitea_runners/docker-compose.yaml new file mode 100644 index 0000000..4a58671 --- /dev/null +++ b/docker/gitea_runners/docker-compose.yaml @@ -0,0 +1,12 @@ +services: + runner: + image: gitea/act_runner:latest + restart: always + volumes: + - ./data/act_runner:/data + - /var/run/docker.sock:/var/run/docker.sock + environment: + - GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL} + - GITEA_RUNNER_REGISTRATION_TOKEN=${TOKEN} + - GITEA_RUNNER_NAME=docker-runner + - GITEA_RUNNER_LABELS=node-docker:docker://homyakspace/wedding:${TAG}, node-ansible:docker://homyakspace/wedding-ansible:${TAG} \ No newline at end of file diff --git a/docker/gitea_runners/env_example b/docker/gitea_runners/env_example new file mode 100644 index 0000000..6f25b21 --- /dev/null +++ b/docker/gitea_runners/env_example @@ -0,0 +1,3 @@ +TOKEN="..." +GITEA_INSTANCE_URL="..." +TAG="amd64" # amd64 / latest [arm64] \ No newline at end of file