Sn00part
там наверняка юйй какой нибудь, кода больше, чем сам докеримадж весит
Sn00part
а зачем тут люди? дженкинс же или подобные
Sn00part
меньше ненужной работы людям, больше времени сделать что-либо полезное в приложении
Sn00part
дженкинс пусть срабатывает на коммит. меньше вероятности ошибки
G72K
а зачем тут люди? дженкинс же или подобные
Да причем тут дженкинс? Еще раз: Мэпинг исходников в под не противоречит Ci Cd. В конце концов что-то где-то обновит deployment.yaml и сделает kubectl apply. Обновится поле докер имаджа иди гит коммита - не важно. Будет ли это обновление елать человек, робот, или коллегия на архитекторов на ежегодном заседании анонимным голосованием - это не было в вопросе и нет в моих ответах, но есть в ваших почему тл
Sn00part
Sn00part
правильно. зачем делать просто и эффективно. надо делать сложно и непрозрачно
Sn00part
в лаптопе поиграться можно что угодно делать и как угодно. в большом приложении с кучей бекендов лишняя сумятица ни к чему.
𝕍ℤ
с каких пор работа с гитом непрозрачна?
Sn00part
разговор про деплой, а не работу с гитом
Sn00part
😊
Sn00part
всё зависит от приложения. в одной большой конторе так и делают до сих пор. поэтому там семь админов и все плохо спят.
G72K
Да чем хуже то? Не лучше и не хуже, просто по-другому. Назовёте технические аргументы чем оно так плохо?
Sn00part
непонятно как это тестить, человеческий фактор, нарушение 12factors,
G72K
Брр.. да как так то? вот есть cI/cd все тесты прошли в итоге релиз в прод. последнее действие: обвновить deployment.yaml , какая разница что в нем обновлять: верси имаджа или гит коммит?
G72K
человеческий факто тут причем?и то и то могут обновлять как роботы, так и человек, ничего про это не было в вопросе
Sn00part
гит коммит и версия имаджа должна быть протестирована вместе. мы может просто про разные приложения говорим? где один имадж раз в год меняется и две виртуалочки с кодом?
Sn00part
у меня 47 имаджей есть в проде сейчас и 12 релизных версий приложения например
Sn00part
приложение большое, его сразу не перепишешь, по частям только.
Sn00part
пхп там тоже есть
Sn00part
практика с маппингом коммита там просто не работает. работает другая, про которую я рассказал. в других реалиях, возможно, сработает и маппинг. но зачем делать неправильно, а потом переделывать, когда можно сразу сделать нормально и избавить себя от проблем в будущем
G72K
Sn00part
тем более Best practices уже есть, доки по этому делу тоже. тот же 12factors покрывает 80% всех вопросов
G72K
php-fpm просто запускалка кода. точно так же как ядро, докер и версия куба: их обновления как-то тестируются +- степень паранои, но в целом обычно не идет речь о перетестировании всех приложений во всех окружениях
G72K
G72K
G72K
в результате каких процессов источник этого тарбола обновился вообще к вопросу отношения не имеет
Etki
G72K
Артефакт != ревизия в скв
ой да ладно? а если я закомичу артефакт в гит ? :) на если сеьезно, все равно одно и то же, если гарантируется, что если процесс перехода из ревизии в артефакт повторяем. в случае PHP этого элементарно добиться
Etki
Давайте без ой да ладно
G72K
А по существу?
Etki
По существу выше
Etki
Если хотите передергивать - пожалуйста
G72K
чем
FROM nginx
COPY src /mypath
и потом в кубе:
containers:
- image: nginx-and-sources
настолько принципильно отличается от
containers:
- image: nginx
name: nginx
volumeMounts:
- mountPath: /mypath
name: git-volume
volumes:
- name: git-volume
gitRepo:
repository: "git@somewhere:me/my-git-repository.git"
revision: "22f1d8406d464b0c0874075539c1f2e96c253775"
что во втором случае прям контора утонет в админах и будет еле дышать?
Sn00part
этап сборки, релиз и выполнения не определён чётко. имадж и гит коммит надо тестировать вместе. либо хранить где-то пары протестенных айди.
G72K
и там и там есть относительно часто меняющаяся версия и относительно стабильная среда выполнения
G72K
> этап сборки
/bin/true
> релиз
обновления deploy.yaml сначала в тестовом, потом препрод, потом в прод кубе
> выполнения
всё в deployment.yaml, определено четко
G72K
если вам нужен формализм, то ваш артефакт не image:version, а кусок yaml , вот и гоняйте его по всем стадиям вашего ci cd, ничего принципиально не меняется
Sn00part
Etki
Etki
И все равно это не артефакт
G72K
она _может_ быть не детерменированной
G72K
а может и быть такой
Etki
Она всегда будет недетерминированнрй, несмотря на теоретическую возможность обратного
Etki
Всегда так
Sn00part
у меня нет доверия к разработчикам. я должен быть уверен, что мой имадж работает с любым коммитом.
разве плохо это?
G72K
Etki
Etki
G72K
Хлеб это зерно
при рассуждениях что "надо бы хлеб, а есть только зерно", наличие возможности в любой момент превратить зерно в хлеб разве не делет такие рассуждения бессмысленными?
Etki
Хлеб все равно не зерно
Etki
Даже если свести все к гитлеру
Etki
Я вообще не понимаю, что мы обсуждаем
Sn00part
я уже тоже. пойду уже коньяк пить в конце концов.
G72K
у кого-нибудь Dex + LDAP работает? Еще не ставил у себя, но пытаюсь понять где TTL для токена задается
Serg
В конфиге декса
Zon
Может я не очень хорошо знаю работу gitRepo, но мне кажется, что если комит из гита потерли, то перезапустить или отскейлить под уже не получится.
Konstantin
контейнер должен быть иммутабелен и баста
G72K
Sn00part
это разные области ответственности) не знаю, кстати, как можно из гита стереть коммит. с позиции админа, у реджистри есть бекапы. разработчики бекапы как правило не делают и пролюбливают все чаще.
Sn00part
имадж пересобираться же может, он в себе ничего не хранит stateful
Sn00part
а то, что есть, описано в dockerfile
Sn00part
с гитом сложнее, там постоянно чет мержат, ревертят, черипикают и сквашат
Zon
это разные области ответственности) не знаю, кстати, как можно из гита стереть коммит. с позиции админа, у реджистри есть бекапы. разработчики бекапы как правило не делают и пролюбливают все чаще.
Git squash, например. То, что делать это с мастером не очень бестпрактис, это другое дело. И если гит-сервер недоступен, то аутоскейлинг тоже недоступен. Да, имаджстор тоже может уйти в даун, но это одна сущность вместо двух. + Доступ на запись к имаджстор имеют, как правило, меньше людей. ( в идеале ноль )
Sn00part
👍
Sn00part
зачем сравнивать несравнимые вещи? докеримадж сделаем immutable и совпадает он с dockerfile. но при пересборке могут прилететь обновления пакетов и все, приплыли.
Sn00part
с гитом тоже много весёлых штук постоянно происходит. разработчиков больше, чем админов и активность у них больше. и человеческий фактор у них чаще стреляет. вы как будто треш ни разу не мержили, даже после всех ревью.
Sn00part
плохой коммит помержили, потом черепикнули, сверху налабали уже, потом поревертили в первой бранчи, всем привет.