fix(ci): update deploy workflows
This commit is contained in:
134
.gitea/workflows/main.yaml
Normal file
134
.gitea/workflows/main.yaml
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
name: Build and deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Notify Telegram start building
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
🚀 Запуск сборки!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: smallbuster/ocenka-web:latest
|
||||||
|
build-args: |
|
||||||
|
NEXT_PUBLIC_MAIL_USER=${{ secrets.NEXT_PUBLIC_MAIL_USER }}
|
||||||
|
NEXT_PUBLIC_MAIL_PASS=${{ secrets.NEXT_PUBLIC_MAIL_PASS }}
|
||||||
|
NEXT_PUBLIC_MAIL_FROM=${{ secrets.NEXT_PUBLIC_MAIL_FROM }}
|
||||||
|
NEXT_PUBLIC_MAIL_TO=${{ secrets.NEXT_PUBLIC_MAIL_TO }}
|
||||||
|
NEXT_PUBLIC_MAIL_SECURE_KEY=${{ secrets.NEXT_PUBLIC_MAIL_SECURE_KEY }}
|
||||||
|
|
||||||
|
- name: Notify Telegram about success
|
||||||
|
if: success()
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
✅ Сборка успешно завершена!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
Ветка: ${{ github.ref_name }}
|
||||||
|
Коммит: ${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Notify Telegram about failure
|
||||||
|
if: failure()
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
❌ Сборка проекта неудачна!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
Ветка: ${{ github.ref_name }}
|
||||||
|
Коммит: ${{ github.sha }}
|
||||||
|
Подробности: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: Notify Telegram start deploy
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
🐳 Запуск деплоя!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set up Docker Compose
|
||||||
|
run: |
|
||||||
|
docker compose version
|
||||||
|
|
||||||
|
- name: Stop and remove existing containers
|
||||||
|
run: |
|
||||||
|
docker compose -f docker-compose.yaml down || true
|
||||||
|
|
||||||
|
- name: Pull Docker images
|
||||||
|
run: |
|
||||||
|
docker compose -f docker-compose.yaml pull
|
||||||
|
|
||||||
|
- name: Start containers
|
||||||
|
run: |
|
||||||
|
docker compose -f docker-compose.yaml up -d
|
||||||
|
|
||||||
|
- name: Notify Telegram about success
|
||||||
|
if: success()
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
✅ Деплой успешно завершен!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
Ветка: ${{ github.ref_name }}
|
||||||
|
Коммит: ${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Notify Telegram about failure
|
||||||
|
if: failure()
|
||||||
|
uses: appleboy/telegram-action@master
|
||||||
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
|
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
message: |
|
||||||
|
❌ Деплой не удался!
|
||||||
|
Сервер: ${{ secrets.SERVER_NAME }}
|
||||||
|
Репозиторий: ${{ github.repository }}
|
||||||
|
Ветка: ${{ github.ref_name }}
|
||||||
|
Коммит: ${{ github.sha }}
|
||||||
|
Подробности: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||||
Reference in New Issue
Block a user