feat: full CI/CD pipeline — build, push to registry, deploy to prod
Some checks failed
CI/CD Pipeline / build-and-deploy (push) Failing after 16s

This commit is contained in:
vrubel 2026-06-06 21:44:45 +00:00
parent a606f9d18c
commit f876cba39a
3 changed files with 23 additions and 9 deletions

View file

@ -6,7 +6,7 @@ on:
- master - master
jobs: jobs:
build: build-and-deploy:
runs-on: shell runs-on: shell
steps: steps:
- name: Clone repository - name: Clone repository
@ -23,7 +23,7 @@ jobs:
- name: Build Docker image - name: Build Docker image
run: docker compose build run: docker compose build
- name: Start container - name: Start container for test
run: docker compose up -d run: docker compose up -d
- name: Verify bot running - name: Verify bot running
@ -34,10 +34,14 @@ jobs:
- name: Stop container - name: Stop container
run: docker compose down run: docker compose down
deploy: - name: Login to Gitea Container Registry
needs: build run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login 192.168.8.174:3000 -u "${{ secrets.REGISTRY_USER }}" --password-stdin
runs-on: ubuntu-latest
environment: production - name: Push image to registry
steps: run: docker push 192.168.8.174:3000/vrubel/t2s-telegram-bot:latest
- name: Deploy (placeholder)
run: echo "🚀 Деплой будет добавлен позже" - 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"

9
docker-compose.prod.yml Normal file
View file

@ -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

View file

@ -1,6 +1,7 @@
services: services:
t2s: t2s:
build: ./app build: ./app
image: 192.168.8.174:3000/vrubel/t2s-telegram-bot:latest
container_name: t2s-telegram-bot container_name: t2s-telegram-bot
restart: always restart: always
network_mode: "host" network_mode: "host"