ci: added ci/cd
Some checks failed
Build and Run VSTU Schedule Parser / build_and_run (push) Failing after 34s

This commit is contained in:
2026-03-28 22:34:15 +03:00
parent 453bfb9bc0
commit 11d03bfe12
2 changed files with 57 additions and 2 deletions

View File

@@ -0,0 +1,55 @@
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
--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

View File

@@ -1,2 +1,2 @@
# Vstu Schedule Parser # Vstu Schedule Parser (v2)
Парсер расписания ВолгГТУ всех факультетов с сайта. Всё автоматизиорвано, запускаешь, ждёшь 2 минуты и на выходе result.json СО ВСЕМ расписанием. Парсер расписания ВолгГТУ всех факультетов с сайта.