Пушим в master ветку, происходит билд, затем деплой. Но случается такой баг. Контейнеры пересобираются новые, но если зайти внутрь - файлы старые, нет правок из последних коммитов. Делал docker system prune -a -f, без остановки текущих контейнеров, перед деплоем, раньше помогло, сейчас нет. Как это можно победить? Или только полная остановка и повторный деплой?
собирается с тем же тегом, да?
Напугал. Что за "лейтест"
Похоже что так. В артефактах посмотреть?
Там куда пушится контейнер, может и в артефактах, или в реестре
в container_registry проекта может быть надо настроить "Cleanup is not scheduled" ? Или перед сборкой удалять? Cleanup disabled указано
посмотри с каким тегом добавляется image, и container registry время модифицируется ли image с этим тегом
IMAGE с тегом platform:master , в container registry время обновилось (16 мин назад... )
так хорошо, а теперь в месте где этот контейнер стартует, там pull делается?
gitlab-runner что-то делает. и контейнеры новые - CREATED значение 15 minutes ago и
Делай два тега. Первый твой, а второй тег - это комит контрольная сумма, например, CI_COMMIT_SHORT_SHA. При деплой всегда указывай второй тег.
не всегда хорошо, начнут копится в реестре в таком случае образы, скедулер придется настраивать)
эм. Ты же в курсе что они так и так быдут копиться?
я так полагаю у человека gitlab и в нем ограниченная квота на реестр
Так слои же один хрен пушатся
Не используй реестр в gitlab. Используй, например, harbor - как отдельный реестр. Там очень мощный функционал есть по retention policy.
Это мы с тобой понимаем, и понимаем как слои работают) Что если там докерфайл кривой или еще что то. Человеку сложно разобратся почему у его контейнер с новым кодом не появляется, и если мы сейчас будем его грузить хешами коммита в имени тега, ну согласись не совсем правильно будет)
лично у меня private self hosted
Oo как раз это и поможет в понимании почему у него не загружается, не?
можно для проверки сделать pull policy always, но оставлять так конечно не стоит, если заработает
Обсуждают сегодня