From f876cba39a4817f8c783a0cf0e6a732edf856689 Mon Sep 17 00:00:00 2001 From: vrubel Date: Sat, 6 Jun 2026 21:44:45 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20full=20CI/CD=20pipeline=20=E2=80=94=20b?= =?UTF-8?q?uild,=20push=20to=20registry,=20deploy=20to=20prod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .forgejo/workflows/test.yml | 22 +++++++++++++--------- docker-compose.prod.yml | 9 +++++++++ docker-compose.yml | 1 + 3 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 docker-compose.prod.yml diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index 03d0211..1926946 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -6,7 +6,7 @@ on: - master jobs: - build: + build-and-deploy: runs-on: shell steps: - name: Clone repository @@ -23,7 +23,7 @@ jobs: - name: Build Docker image run: docker compose build - - name: Start container + - name: Start container for test run: docker compose up -d - name: Verify bot running @@ -34,10 +34,14 @@ jobs: - name: Stop container run: docker compose down - deploy: - needs: build - runs-on: ubuntu-latest - environment: production - steps: - - name: Deploy (placeholder) - run: echo "🚀 Деплой будет добавлен позже" + - name: Login to Gitea Container Registry + run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login 192.168.8.174:3000 -u "${{ secrets.REGISTRY_USER }}" --password-stdin + + - name: Push image to registry + run: docker push 192.168.8.174:3000/vrubel/t2s-telegram-bot:latest + + - name: Copy docker-compose to prod host + run: scp docker-compose.prod.yml 192.168.8.171:~/services/t2sTelegramBot/docker-compose.yml + + - name: Deploy on prod host + run: ssh 192.168.8.171 "cd ~/services/t2sTelegramBot && docker compose pull && docker compose up -d --remove-orphans" diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..0521103 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,9 @@ +services: + t2s: + image: 192.168.8.174:3000/vrubel/t2s-telegram-bot:latest + container_name: t2s-telegram-bot + restart: always + network_mode: "host" + env_file: .env + volumes: + - ./data:/app/data diff --git a/docker-compose.yml b/docker-compose.yml index d9329ec..d0cf5bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ services: t2s: build: ./app + image: 192.168.8.174:3000/vrubel/t2s-telegram-bot:latest container_name: t2s-telegram-bot restart: always network_mode: "host"