Size: a a a

2020 March 04

AG

Andrey Gumilev in ru_gitlab
Александр Кот
Автор комментария выше всё правильно указал - в зависимости от имени бранчи пишете условие на языке bash, но другой автор также прав, если у вас будет 1000 и одна бранча - будет много elif

Коротко: можно. Уже даже привели пример как именно. Делать ли новую джобу и писать там only variables $BRANCH_NAME == XXX; или использовать if + elif - это дело вкуса.
ветку можно регуляркой
источник

AG

Andrey Gumilev in ru_gitlab
Так к слову
источник

АК

Александр Кот in ru_gitlab
Александр Кот
Автор комментария выше всё правильно указал - в зависимости от имени бранчи пишете условие на языке bash, но другой автор также прав, если у вас будет 1000 и одна бранча - будет много elif

Коротко: можно. Уже даже привели пример как именно. Делать ли новую джобу и писать там only variables $BRANCH_NAME == XXX; или использовать if + elif - это дело вкуса.
@Sabrjkee еще как вариант - описать в виде метода и его вызывать из отдельного bash скрипта, чтобы переменные сеттились не в общем массиве джоб. Читал, что так делают, сам не пробовал, поэтому пример не могу предоставить.
источник

AG

Andrey Gumilev in ru_gitlab
Александр Кот
@Sabrjkee еще как вариант - описать в виде метода и его вызывать из отдельного bash скрипта, чтобы переменные сеттились не в общем массиве джоб. Читал, что так делают, сам не пробовал, поэтому пример не могу предоставить.
А можено сделать из 3х башев 1 и запускать части в зависимости он ветки bash.bash $ci_branch (условно)
источник

АК

Александр Кот in ru_gitlab
Andrey Gumilev
А можено сделать из 3х башев 1 и запускать части в зависимости он ветки bash.bash $ci_branch (условно)
Ну я и имел ввиду - логику ветвления в одном методе описать, и там всё сетать, а в джобе только один метод дергать, который вернет нужный конфиг.
источник

AG

Andrey Gumilev in ru_gitlab
Александр Кот
Ну я и имел ввиду - логику ветвления в одном методе описать, и там всё сетать, а в джобе только один метод дергать, который вернет нужный конфиг.
Вообще вариантов масса, пусть сам решает
источник

AD

Anton Donnik in ru_gitlab
Привет. Я за советом. может подскажете решение?
я качу через гитлаб по тегам. И вроде кейс катить на прод из мастера кажется очевидным, в моем случае как то не очень реализуем.
Как сделать, чтоб при выкате по тегу, поставить ограничение выполнять 1 джоб (деплой на прод) только если ветка мастер(тег поставили в ветке мастер)?
источник

DM

Dmitry MiksIr in ru_gitlab
Anton Donnik
Привет. Я за советом. может подскажете решение?
я качу через гитлаб по тегам. И вроде кейс катить на прод из мастера кажется очевидным, в моем случае как то не очень реализуем.
Как сделать, чтоб при выкате по тегу, поставить ограничение выполнять 1 джоб (деплой на прод) только если ветка мастер(тег поставили в ветке мастер)?
[[ "x$(git branch -a --contains ${CI_COMMIT_SHA} --list origin/master)" == "x" ]] && { echo "Branch is not master"; exit 3; }
источник

DM

Dmitry MiksIr in ru_gitlab
Pavel Kozlov
Всем привет.
Вопрос не совсем про гитлаб, но про него тоже.
Ребят, кто настраивал интеграцию каких-нибудь Jetbrain'овских продуктов с Гитлаб? Есть сложность следущая: есть Upsource, нужно его интегрировать с гитлабом. В гитлаб у нас юзеры ходят через  LDAP учетки. Репы синкаются нормально через токен сервисного юзера в гитлабе(юзер из LDAP). Но, когда заходят разрабы, у них не получается создать мердж реквесты(они должны прокинуться в гитлаб). На стороне Upsource и на стороне  Гитлаб вижу ошибки авторизации Error: {"message":"401 Unauthorized"}

Не было ли у кого таких проблем с интеграцией?
в апсорсе нужно сделать аутентификацию через гитлаб по oauth
источник

PK

Pavel Kozlov in ru_gitlab
Dmitry MiksIr
в апсорсе нужно сделать аутентификацию через гитлаб по oauth
Пробовали. Но юзеров не находит. Есть мнение, что, если аутентификация в гитлаб производится через LDAP,  Oauth через гитлаб работать не будет. по крайней мере так говорит саппорт upsource
источник

DM

Dmitry MiksIr in ru_gitlab
Ну странно если бы так было, но это можно, думаю, погуглить в трекере гитлаба
источник

AD

Anton Donnik in ru_gitlab
Dmitry MiksIr
[[ "x$(git branch -a --contains ${CI_COMMIT_SHA} --list origin/master)" == "x" ]] && { echo "Branch is not master"; exit 3; }
А чтоб в пайпе не появлялся джоб никак?
источник

AD

Anton Donnik in ru_gitlab
или это через иф попробовать?
источник

DM

Dmitry MiksIr in ru_gitlab
Anton Donnik
А чтоб в пайпе не появлялся джоб никак?
Ну вам шашечки или ехать
Не стадо ж обезьян у вас теги вешают
источник

AD

Anton Donnik in ru_gitlab
не стадо, но пару есть
источник

AD

Anton Donnik in ru_gitlab
)))
источник

SP

Sergey Pechenko in ru_gitlab
Anton Donnik
не стадо, но пару есть
Дешевле поставить рядом дворника с метлой, чтобы по спине бил за глупости, чем эту вашу сову на этот ваш глобус натягивать.
источник

DM

Dmitry MiksIr in ru_gitlab
ну поставь протектед на теги и отбери у них мантейнера
источник

AD

Anton Donnik in ru_gitlab
есть ньюансы... )
собственно понятно, спасибо всем )
источник

DM

Dmitry MiksIr in ru_gitlab
имхо зафейленная джоба как раз вернее, что бы оповестить автора о том, что он не туда тег повесил
не стартовать джобу вроде нельзя
источник