Укрепление эксплуатации: healthcheck'и, лимиты ресурсов, логи, self-hosted шрифты, smoke-проверка в CI
Deploy / deploy (push) Failing after 0s
Deploy / deploy (push) Failing after 0s
This commit is contained in:
@@ -29,4 +29,27 @@ jobs:
|
||||
run: |
|
||||
docker compose -f docker-compose.prod.yml build
|
||||
docker compose -f docker-compose.prod.yml up -d
|
||||
docker image prune -f
|
||||
|
||||
# Если сборка/подъём упали — шаг упадёт, а старые контейнеры продолжат
|
||||
# работать (up -d не выполнился). Проверяем, что новое поднялось по
|
||||
# healthcheck'ам обоих сервисов, и что nginx реально отдаёт главную.
|
||||
- name: Smoke check
|
||||
working-directory: /data/docker/compose/cactoz
|
||||
run: |
|
||||
n=starting
|
||||
g=starting
|
||||
for i in $(seq 1 30); do
|
||||
n=$(docker inspect -f '{{.State.Health.Status}}' cactoz-nginx 2>/dev/null || echo starting)
|
||||
g_id=$(docker compose -f docker-compose.prod.yml ps -q gameserver)
|
||||
g=$([ -n "$g_id" ] && docker inspect -f '{{.State.Health.Status}}' "$g_id" 2>/dev/null || echo starting)
|
||||
if [ "$n" = "healthy" ] && [ "$g" = "healthy" ]; then break; fi
|
||||
sleep 3
|
||||
done
|
||||
docker compose -f docker-compose.prod.yml ps
|
||||
[ "$n" = "healthy" ]
|
||||
[ "$g" = "healthy" ]
|
||||
docker exec cactoz-nginx wget -qO /dev/null http://127.0.0.1/
|
||||
|
||||
- name: Prune dangling images
|
||||
working-directory: /data/docker/compose/cactoz
|
||||
run: docker image prune -f
|
||||
|
||||
Reference in New Issue
Block a user