Skip to content

чинит ложный фейл healthcheck когда compose не пересоздаёт контейнер#23

Merged
insvrg3ncy merged 1 commit into
developfrom
fix/cd-healthcheck-stale-logs
Jun 11, 2026
Merged

чинит ложный фейл healthcheck когда compose не пересоздаёт контейнер#23
insvrg3ncy merged 1 commit into
developfrom
fix/cd-healthcheck-stale-logs

Conversation

@iAmScienceMan

Copy link
Copy Markdown
Contributor

закрывает #15

healthcheck грэпал последние 100 строк логов и молча рассчитывал, что compose up -d пересоздал контейнер. если образ по мнению compose не изменился, контейнер не трогается, ready-строка старого запуска давно уехала за пределы tail 100, и healthcheck ложно падал. дальше rollback делал --force-recreate того же состояния и воркфлоу всё равно выходил с exit 1.

теперь обе проверки (после деплоя и после rollback) вынесены в функцию check_ready, которая берёт StartedAt контейнера через docker inspect и грэпает docker logs --since этого момента. это покрывает оба случая:

  • контейнер не пересоздан: смотрим логи с его реального старта, ready-строка там есть, сколько бы строк ни накопилось после
  • контейнер пересоздан или перезапущен: --since отсекает логи прошлых запусков, так что ready от старого запуска не даст ложный pass при крашлупе

если контейнера нет вообще, docker inspect падает и check_ready возвращает 1, то есть идём в ветку rollback, а не валим скрипт через set -e.

compose up -d не пересоздаёт контейнер, если образ не поменялся, и
ready-строка старого запуска уезжает за пределы tail 100. теперь грэпаем
docker logs --since StartedAt контейнера: ловит ready текущего запуска
независимо от того, был ли пересоздан контейнер, и не матчит строки
прошлых запусков после рестарта.

fixes #15
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@iAmScienceMan iAmScienceMan changed the base branch from main to develop June 11, 2026 12:27
@iAmScienceMan iAmScienceMan requested a review from insvrg3ncy June 11, 2026 12:32
@iAmScienceMan iAmScienceMan added the bug Something isn't working label Jun 11, 2026
@iAmScienceMan iAmScienceMan self-assigned this Jun 11, 2026
@insvrg3ncy insvrg3ncy merged commit 175c049 into develop Jun 11, 2026
5 checks passed
@insvrg3ncy insvrg3ncy deleted the fix/cd-healthcheck-stale-logs branch June 11, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ложный фейл healthcheck в cd.yml когда compose не пересоздаёт контейнер

2 participants