Size: a a a

2020 March 07

DV

Dmitry Vorobev in ru_gitlab
Я не большой спец в ямле, но что-то мне подсказывает, что - foo и [foo] - одно и то же =)
источник

t

tartis in ru_gitlab
Подскажите, обязательно указывать тег своего Ранера?
источник

АК

Александр Кот in ru_gitlab
Dmitry Vorobev
Я не большой спец в ямле, но что-то мне подсказывает, что - foo и [foo] - одно и то же =)
Ща тестирую все вариации. И уже не уверен что хотя бы одно из решений работает...
у меня есть две джобы
[$REMOTE == 'True' || $REMOTE == 'true' && $BROWSER == 'chrome']
[ $REMOTE == 'True' || $REMOTE == 'true' && $BROWSER == 'firefox' ]

Когда запускаю с параметром 'true' и 'firefox' - выбирается вторая, и это верно
Когда запускаю с параметром 'True' и 'firefox' - стартуют обе
Причем что со скобками, что с черточкой.
источник

DV

Dmitry Vorobev in ru_gitlab
Ну, что я могу сказать. Стоит попробовать так, там OR точно работает корректно 🤔
- $REMOTE == 'True' && $BROWSER == 'chrome'
- $REMOTE == 'true' && $BROWSER == 'chrome'
источник

АК

Александр Кот in ru_gitlab
линтером сломал гитлаб))
источник

DV

Dmitry Vorobev in ru_gitlab
Это знак судьбы, время открыть пиво и отложить гитлаб в сторонку 😅
источник

АК

Александр Кот in ru_gitlab
Dmitry Vorobev
Ну, что я могу сказать. Стоит попробовать так, там OR точно работает корректно 🤔
- $REMOTE == 'True' && $BROWSER == 'chrome'
- $REMOTE == 'true' && $BROWSER == 'chrome'
Вариант! Не подумал что бойлерплейтом может решиться)
источник

АК

Александр Кот in ru_gitlab
Александр Кот
линтером сломал гитлаб))
Реально воспроизвел. Походу надо зарепортить ишью)
[ [ ($REMOTE == 'True' || $REMOTE == 'true') && $BROWSER == 'chrome'  ] ]
источник

АК

Александр Кот in ru_gitlab
Dmitry Vorobev
Ну, что я могу сказать. Стоит попробовать так, там OR точно работает корректно 🤔
- $REMOTE == 'True' && $BROWSER == 'chrome'
- $REMOTE == 'true' && $BROWSER == 'chrome'
Дмитрий, спасибо! Этот вариант рабочий, выручили!) сэкономили как минимум несколько часов, которые я бы потратил на попытки написать на баше рабочий кондишен для гитлаба)
источник

DV

Dmitry Vorobev in ru_gitlab
Александр Кот
Дмитрий, спасибо! Этот вариант рабочий, выручили!) сэкономили как минимум несколько часов, которые я бы потратил на попытки написать на баше рабочий кондишен для гитлаба)
Тем более, судя по докам, там руби 😅
источник

АК

Александр Кот in ru_gitlab
А вообще я думаю, а может есть в гитлабе аналог "str.lower()"?
источник

t

tartis in ru_gitlab
Подскажите, возможно ли использовать переменные из гитлаба в СШ скрипте
источник

АК

Александр Кот in ru_gitlab
tartis
Подскажите, возможно ли использовать переменные из гитлаба в СШ скрипте
можно )
источник

t

tartis in ru_gitlab
А можно вкратце или линк на доку)
источник

DV

Dmitry Vorobev in ru_gitlab
Вы таки не поверите =) https://docs.gitlab.com/ee/ci/variables/
источник

i

inqfen in ru_gitlab
переменная из гитлаба - переменная окружения
источник

АК

Александр Кот in ru_gitlab
tartis
А можно вкратце или линк на доку)
А я без доки, видел на практике.
Если вызываете sh скрипт в гитлаб-джобе, то все переменные которые объявлены в gitlab-ci.yml или извне (стандартные гитлабовские, или любые другие - вызываются аналогично.
источник

АК

Александр Кот in ru_gitlab
inqfen
переменная из гитлаба - переменная окружения
именно) плюсую
источник

АК

Александр Кот in ru_gitlab
Александр Кот
А вообще я думаю, а может есть в гитлабе аналог "str.lower()"?
- $REMOTE =~ /true/i && $BROWSER =~ /firefox/i
пришлось перепробовать уйму всего, в итоге понял что кавычки мешались)
сделал условие case insensitive и убрал бойлерплейт таким трудом созданный
источник

B

Bola in ru_gitlab
Друзья, подскажите.
Мне нужно сделать два процесса.
1. выкладка хотфиксов - если делается MR  в мастер ветку, то после аппрува и если нет мерж конфликтов - то произвести билд и деплой.
2. если MR в тестовую ветку - то нужно сделать: проверка, что нет мерж конфликтов, юнит тесты, билд на тестовый сервер (он один у нас) и e2e на этом сервере

Раннеры свои - пока создан один specific runner, который крутится на нашем сервере, поигрался, посмотрел - вроде работает

А вопросы у меня возникли: для пункта 1 - как сделать, чтобы проверился мерж на наличие ошибок (конфликты), потом произошел мерж, а потом остальные действия- билд и деплой на мастере
для п2 - на какие stages лучше разбить
и для обоих пунктов - какие правила прикрутить, чтобы срабатывали джобы строго по указанным условиям
источник