Настройка сборки образов
Deploy Telegram Bot / build-and-push (push) Failing after 2m17s
Deploy Telegram Bot / deploy (push) Has been skipped

This commit is contained in:
2026-04-17 13:51:37 +03:00
parent 09979252f7
commit 8e172fc94f
2 changed files with 49 additions and 13 deletions
+46 -6
View File
@@ -3,11 +3,43 @@ name: Deploy Telegram Bot
on:
push:
branches:
- main # Срабатывает только при пуше в main
- main
jobs:
# ЧАСТЬ 1: Собираем образы и кладем в Gitea (чтобы делиться с ребятами)
build-and-push:
runs-on: ubuntu-latest # Замени на метку твоего раннера, если она другая
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: https://git.codeanddice.ru # НАПРИМЕР: gitea.my-server.com
username: ${{ gitea.actor }}
password: ${{ secrets.GITEA_TOKEN }}
- name: Build and push Bot
uses: docker/build-push-action@v5
with:
context: .
file: src/GmRelay.Bot/Dockerfile
push: true
tags: https://git.codeanddice.ru/${{ gitea.actor }}/gmrelay-bot:latest
- name: Build and push Web
uses: docker/build-push-action@v5
with:
context: .
file: src/GmRelay.Web/Dockerfile
push: true
tags: https://git.codeanddice.ru/${{ gitea.actor }}/gmrelay-web:latest
# ЧАСТЬ 2: Запускаем эти образы на самом сервере
deploy:
runs-on: ubuntu-latest
needs: build-and-push
runs-on: ubuntu-latest # Тот же локальный раннер
steps:
- name: Checkout repository
uses: actions/checkout@v4
@@ -17,8 +49,16 @@ jobs:
echo "TELEGRAM_BOT_TOKEN=${{ secrets.TELEGRAM_BOT_TOKEN }}" > .env
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env
echo "TELEGRAM_BOT_USERNAME=${{ secrets.TELEGRAM_BOT_USERNAME }}" >> .env
- name: Build and Deploy
- name: Deploy Containers
run: |
# Останавливаем старого бота и поднимаем нового
docker compose down
docker compose up -d --build
# Авторизуемся локальным докером в нашей Gitea
docker login https://git.codeanddice.ru/ -u ${{ gitea.actor }} -p ${{ secrets.GITEA_TOKEN }}
# Так как раннер на том же сервере, образ уже закэширован,
# но pull гарантирует, что compose подхватит именно свежий latest-тег.
docker compose pull bot web
# Запускаем! Флаг -d оставит их работать в фоне.
# БД не перезапустится, так как её образ не менялся.
docker compose up -d