Size: a a a

2020 April 25

SP

Sergey Pgkg in pro.elixir
Georgy
Т.е. как забронировать на время деплоя пайплайн
Ну получается что да.
источник

LL

Lama Lover in pro.elixir
Georgy
Просто проблема то типичная, один общиц ресурс и много потребителей
Так сделайте типичный мьютекс. На программном уровне запретите параллельный деплой. Сделайте чатик, куда будет писаться что деплой начат и всё такое
источник

G

Georgy in pro.elixir
Так и делаем👍
источник

G

Georgy in pro.elixir
Думал может кто по другому решает проблему
источник

SP

Sergey Pgkg in pro.elixir
Georgy
Так и делаем👍
Ну в таком пайплайне когда кто угодно может деплоить на прод особо других вариантов нет.
источник

SP

Sergey Pgkg in pro.elixir
Я так понимаю
источник

V

V in pro.elixir
Lama Lover
Так сделайте типичный мьютекс. На программном уровне запретите параллельный деплой. Сделайте чатик, куда будет писаться что деплой начат и всё такое
Jenkins это умеет и делает
источник

V

V in pro.elixir
Georgy
Думал может кто по другому решает проблему
Вы не rsync-ом же деплоитесь? Деплой-тул какой?
источник

G

Georgy in pro.elixir
Мы пока на хероку пайплайнс, все простенько
источник

G

Georgy in pro.elixir
V
Jenkins это умеет и делает
А что дженкинс делает?
источник

V

V in pro.elixir
Georgy
А что дженкинс делает?
Решает проблему автобилда, автотестов, конкурентного деплоя.
Там где я работал и был настроен дженкинс - проблем как ты описываешь не было.
Кейсы:
1) Ты запушил в ветку. должны пройти автотесты. Ты в дженкинсе кликаешь кнопку "build now" в целевой ветке, он билдит и показывает успешен ли билд. Ты можешь в билд включить автотесты. Ты также можешь настроить хук в своём гит-репозитории, чтобы он дёргал дженкинс, чтобы не нажимать кнопку вручную. Итог - у тебя всегда есть индикация билд успешен или нет, и так по каждой ветке. Ну либо выборочно.
2) Ты деплоишь на прод. В репозитории смержил ветку в мастер, в дженкинсе смотришь какие билды в мастер сейчас выполняются (если кто другой деплоит). Если никто - жмёшь "build now" в ветке мастер. Происходит деплой. Ура. Если нажмёшь "build now" во время чужого деплоя - предыдущий билд+деплой отменится твоим.
источник

G

Georgy in pro.elixir
Вот ключевой момент по моему вопросу это то что у вас чужой деплой отменяется твоим
источник

G

Georgy in pro.elixir
Только не совсем всеж отвечает на требования
источник

V

V in pro.elixir
У нас все нормальные работали в команде, никто не отменял чужой деплой на прод своим, все дожидались окончания.
источник

V

V in pro.elixir
Так что это вопрос адекватности коллег
источник

G

Georgy in pro.elixir
Проблема что сервер знает только о факте билда, как только билд выполнен следующий модет свое деплоить
источник

G

Georgy in pro.elixir
Я же говорю что есть необходимость пр держать пайплайн на некоторое время
источник

G

Georgy in pro.elixir
И к тому же сам пайплайн состоит из двух ступеней - стейдж и прод
источник

V

V in pro.elixir
Да там всё это настраивается. Сколько надо ступеней - столько и делаешь.
источник

G

Georgy in pro.elixir
Понятное дело, только время не настроишь :)
источник