LINUX.ORG.RU
решено ФорумAdmin

gitlab-ci runners и dockerы

 ,


0

2

Привет, есть тут съевшие собаку в сабже?

Хотелось бы прояснить пару моментов, может я чего-то не так делаю?

Есть локальный docker registry, туда образы пушатся после сборки с пары разных воркстейшнов.

Типа

docker build -t registry/img .
docker push registry/img

На другом воркстейшне (либо, позже, на том же самом воркстейшне) могут обновить образ, выполнив буквально те же самые команды.

Есть развернутые gitlab-ci runners, штук много. Job-ы CI запускаются в соответствующих докерах

jobN:
  image: registry/img:latest
script:
  ....

Так вот волнующий меня вопрос. Правильно ли я понимаю, что «latest» в registry всегда будет действительно последний запушенный, исключая случая пуша старого образа с существущим уже image id ?

Ну т.е., поведение всего этого должно быть интуитивно. Или есть подводные камни с этим latest?

Теги в воркфлоу не используются, замечу. Ну, кроме latest

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

alpha, вспомнил, ты шаришь тут, вроде

Deleted
()

Не вижу проблемы че-то. Если тебя это так парит, пушай с другим тегом, newest например.

t184256 ★★★★★
()

«latest» в registry всегда будет действительно последний запушенный

Latest - это последний из запушенных без тега. То есть «docker push image:0.0.2» не обновляет тег latest, а «docker push image» обновит.

Вообще этот тег правильно было бы называть не latest а default. Никаких специальных фич у него нет.

Если ты никакого другого версионирования не используешь, то в принципе для сборки не страшно, но есть одно но:

на принимающей стороне скрипты деплоя твоего приложения обычно смотрят на то поменялась ли версия артефакта. И если не поменялась, то деплоя не происходит. В случае использования latest приходится дополнительно включать механизмы always pull и т.п.

В таких случаях(если очень не хочется делать версии) можно деплой настраивать по дайджесту:

Делаешь скрипт-обертку, которому говоришь deploy latest. Скрипт идет в registry, узнает какой дайджест у latest-тега в данный момент, и запускает деплой уже не по тегу, а с конкретным дайджестом образа.

Получается менее наглядно чем с полноценным версионированием но зато можно четко сравнить два разделенных приложения, одинаковый там образ или нет.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Спасибо, подумаю и проверю.

А чем вообще редактировать registry? Все управлялки кривые и косые, страшно пользоваться. На хосте с реестром по команде docker images ничего не видно. Никакой штатной тулзы, адов бедлам, только пушить можно. Куда, зачем, чего там происходит - непонятно. У нас уже столько навалили (сам и навалил в том числе :), увеличил вот сторадж в 3 раза. Я, честно, думал, что docker CLI позволит этим всем управлять, а оказывается, это бездна. Что это за технология блин

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.