commit
All checks were successful
Build and Run VSTU Compat Layer v1 / build_and_run (push) Successful in 31s

This commit is contained in:
2026-04-03 12:32:39 +03:00
parent 673a7eb6b4
commit d849517cb2

View File

@@ -0,0 +1,52 @@
name: Build and Run VSTU Compat Layer v1
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_compat_v1:latest .
# Шаг 3: Перезапуск контейнера на хост-машине
# Это сердце упрощенного workflow
- name: Restart the container
run: |
# 1. Останавливаем и удаляем старый контейнер, если он существует.
# `docker ps -q -f name=...` вернет ID контейнера, если он запущен.
# Конструкция `[ $(...) ] && ...` проверит, не пустой ли вывод.
if [ "$(docker ps -q -f name=vstu_schedule_repopulator)" ]; then
echo "Stopping and removing existing container..."
docker stop vstu_schedule_repopulator
docker rm vstu_schedule_repopulator
else
echo "No running container found. Skipping stop/remove."
fi
# 2. Запускаем новый контейнер из только что собранного локального образа.
# Команда точно такая же, как твоя.
echo "Starting new container..."
docker run -d \
--network cl2so4 \
--ip 172.20.0.48 \
-v /home/holder/fclay/secrets/vstu_schedule_repopulator.env:/app/.env \
--restart=always \
--name=vstu_schedule_repopulator \
vstu_schedule_repopulator:latest
# (Опционально) Шаг 4: Очистка старых, "висячих" образов
# Это хорошая практика, чтобы не засорять диск.
- name: Clean up old images
if: always() # Выполнять этот шаг всегда, даже если предыдущие провалились
run: docker image prune -f