Files
VSTU_Schedule_Parser/.gitea/workflows/deploy.yml
FazziCLAY 4c3bb9bd83
All checks were successful
Build and Run VSTU Schedule Parser / build_and_run (push) Successful in 16s
ci: groups.json
2026-04-05 13:11:57 +03:00

58 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Build and Run VSTU Schedule Parser
on:
push:
branches:
- main
jobs:
build_and_run:
runs-on: ubuntu-latest
steps:
# Шаг 1: Получаем исходный код проекта
- name: Checkout code
uses: actions/checkout@v3
# Шаг 2: Сборка Docker-образа локально на хост-машине
# Мы не пушим его в registry, а просто создаем с нужным тегом.
- name: Build Docker image
run: docker build -t vstu_schedule_parser_v2:latest .
# Шаг 3: Перезапуск контейнера на хост-машине
# Это сердце упрощенного workflow
- name: Restart the container
run: |
# 1. Останавливаем и удаляем старый контейнер, если он существует.
# `docker ps -q -f name=...` вернет ID контейнера, если он запущен.
# Конструкция `[ $(...) ] && ...` проверит, не пустой ли вывод.
if [ "$(docker ps -q -f name=vstu_schedule_parser_v2)" ]; then
echo "Stopping and removing existing container..."
docker stop vstu_schedule_parser_v2
docker rm vstu_schedule_parser_v2
else
echo "No running container found. Skipping stop/remove."
fi
# 2. Запускаем новый контейнер из только что собранного локального образа.
# Команда точно такая же, как твоя.
echo "Starting new container..."
docker run -d \
--network cl2so4 \
--ip 172.20.0.59 \
-v /home/holder/fclay/secrets/vstu_schedule_parser_v2.env:/app/.env \
-v /home/holder/fclay/fclaydata/vstu_schedule_parser_v2/parsed:/app/parsed \
-v /home/holder/fclay/fclaydata/vstu_schedule_parser_v2/parser.json:/app/parser.json \
-v /home/holder/fclay/fclaydata/vstu_schedule_parser_v2/result_v2.json:/app/result_v2.json \
-v /home/holder/fclay/fclaydata/vstu_schedule_parser_v2/facultets.json:/app/facultets.json \
-v /home/holder/fclay/fclaydata/vstu_schedule_parser_v2/groups.json:/app/groups.json \
--restart=always \
--name=vstu_schedule_parser_v2 \
vstu_schedule_parser_v2:latest
# (Опционально) Шаг 4: Очистка старых, "висячих" образов
# Это хорошая практика, чтобы не засорять диск.
- name: Clean up old images
if: always() # Выполнять этот шаг всегда, даже если предыдущие провалились
run: docker image prune -f