вопрос - повторюсь.
никто не знает - как сделать так, чтоб при запуске пайпа (не джобы) а именно пайпа, второй пайп не мог бы вклиниться между джобами первого пайпа...
Я не пойму - concurrent = 1 - вот это спасет? мож сталкивался кто?
я делал внешний лок.
ресурс группа - раз
я читал.. может к пятнице уже мозг отказывает... но не понимаю - как мне это поможет... я так понимаю ресурсная группа применяется на джобу и не двет именно двум джобам одновременно работать... а мне нужно чтоб двум пайпам
да можно просто по курл сходить в гитлаб и запрошить наличие джобов соседнего пайпа - есть валишь пайп
https://docs.gitlab.com/ee/ci/resource_groups/
могут перемешиваться же джобы из разных пайплайнов. и если джобы не независимы, то будет плохо.
тогда такое остается
да, это спасёт
только это работает для одной и той же ветки. для разных раннеры будут запускаться параллельно
Ну и следовательно для реп разных... тоже... блин... ладно надумаю что нить...
а вам надо, чтобы прямо монопольно пайп работал?
Слушай... я может перепаниковываю. Ну вот смотри. Фетчится репа. У меня сначала билдится весь солюшен внутри репы. А потом в зависимости от IF должны публиковаться элементы системы. Вот тут ключевой момент, чтоб от момента как сбилдился солюшен до момента выкладки всех элемнтов в папке с репой ничего бы не менялось. Я сейчас не пойму... пайпы же по идее не должны в одной папке же запускаться... Папки разных реп точно разные. а вот в рамках одной репы... пака одна и та же... но пайпы же не могу за нее драться... или блин... голова уже совсем не работает.
ты странное делаешь. Деплой - это деплой. А билд - это билд. Путать не надо. И артефакты прикапывай в артефакты.
та не... ну дотнетовский проект... там для того чтоб 30 солюшенов собрать 7 кругов ада пройти надо... все то...
ну, собери, а потом уже отдельным пайпом деплой. Жизнь будет сильно проще. А то у тебя какой-то неправильный ci/cd. Касательно блокировки релизов - ну, я выше обсуждал. Resource group,например, либо можно какие-то проверки курлом сделать
ну вкладка же часть пайпа, так что в рамках одной ветки все последующие пайпы будут в пендинге, если у раннера конкуренси = 1. поэтому не важно в какой папке идёт билд. хотя я бы доку про папки почитал, чтобы не блуждать)
да, так хорошо прямо
Ну кстати... раньше не так было... был проект попроще.. и там в одной джобе билдил контейнер, а во второй тестил сбилженный... и часто падали тесты ибо параллельно запускался пайп, который первым шагом чистил старый контейнера... Я в целом почему и голову ломаю...
вам выше круто написали, делайте так)
потому что не надо так делать, сделал криво
Как-то умновато черезчур. Вы из одной репы публикуете несколько артифактов. Это бизнес требование или "так тут заведено"?
если если я сразу билжу союшен из 30 проектов... то у меня это занимает примерно 4 минуты. Потом в зависимости от IF - я делаю dotnet publish Время развертывания варьируется от +3 минут, до +30 минут в зависимости от проекта. Если я буду всегда билдить и публиковать все проекты... это займет более 40 минут... Мне этого не надо. Если я буду завершенный процесс для каждого проекта... у меня полная публикация займет минут 50. но это решит проблему.
А почему бы не публиковать проекты как ньюпкджы асинхронно в реестр. а сольюшен в сиаях собирать из зависимостей пакетов....
Обсуждают сегодня