From 9bf23d55d054d214c3f0412ded26259e73f23297 Mon Sep 17 00:00:00 2001 From: Kirill Date: Sun, 16 Aug 2026 20:29:51 +0300 Subject: [PATCH] feat(cd): Added ansible --- .forgejo/workflows/demo.yaml | 21 +++++++++++++++++++++ ansible/restart_compose.yml | 15 +++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ansible/restart_compose.yml diff --git a/.forgejo/workflows/demo.yaml b/.forgejo/workflows/demo.yaml index 4530613..56345ec 100644 --- a/.forgejo/workflows/demo.yaml +++ b/.forgejo/workflows/demo.yaml @@ -51,3 +51,24 @@ jobs: labels: ${{ steps.tags.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max + + deploy: + needs: docker-build-and-push + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install Ansible + run: apt-get update && apt-get install -y ansible + - name: Set up SSH key + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key + chmod 600 ~/.ssh/deploy_key + - name: Trust server host key + run: | + ssh-keyscan -H ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts + - name: Run Ansible playbook + run: | + ansible-playbook -i "${{ secrets.SERVER_IP }}," ansible/restart_compose.yml \ + --user "${{ secrets.SERVER_USER }}" \ + --private-key ~/.ssh/deploy_key diff --git a/ansible/restart_compose.yml b/ansible/restart_compose.yml new file mode 100644 index 0000000..cb2d31b --- /dev/null +++ b/ansible/restart_compose.yml @@ -0,0 +1,15 @@ +- name: Restart Docker Compose services + hosts: all + # become: yes # <-- больше не нужно, т.к. пользователь уже имеет права Docker + tasks: + - name: docker compose down + ansible.builtin.shell: + cmd: docker compose down + chdir: /etc/compose/resume + - name: prune system + ansible.builtin.shell: + cmd: docker system prune -a -f + - name: docker compose up -d + ansible.builtin.shell: + cmd: docker compose up -d + chdir: /etc/compose/pvh