Pull to refresh

Comments 9

Статья крутая, но я по прежнему буду топить за Jenkins - вот там возможностей действительно море!

В сущности, если использовать Дженкинс так же как используется гитлабCI в статье, то вы столкнетесь с схожими проблемами экранирования и отступов при попытке использовать баш скрипты не тривиальной конструкции прям в пайплайне.

Почти все ваши проблемы от впихивания в пайплайны портянок баша. У меня возникает вопрос, а как вы их проверяете вне гитлаба, и не лучше ли вынести всё в отдельные sh-файлы?

А в какой CI-системе нет портянок баша?) Хотя не, в TFS я видел портянки повершелла, лучше ли это?..

не лучше ли вынести всё в отдельные sh-файлы?

В какой-то момент нужно ограничить количество уровней вложенности кода и на мой вкус, когда у меня уже есть какой-то include-файл, в котором хранится только код конкретной джобы, то вырезать скрипты оттуда в отдельные файлы это уже перебор. Они все равно нигде больше не переиспользуются. KISS, не?

как вы их проверяете вне гитлаба?

А как их проверить вне гитлаба, если они созданы именно для применения в гитлабе? Эти скрипты активно используют внутренние переменные гитлаба и на входе у них, помимо кода, очень много того, что локально замокать проблематично. Да и результат выполнения тоже может требовать специфического окружения, например, токенов для выгрузки результатов работы джобы.

То, что должно работать на машине у пользователя, конечно разумно выносить из гитлаба. Например, локально у нас работают pre-commit хуки для проверки соответствия коммита стандартам.

Мне кажется, что слово stupid, в аббревиатуре KISS, говорит о том что решения должны избегать тайных знаний так, чтобы даже джун мог внести правки, ничего не сломав. В данном случае, вся статья про тайные знания. Я и не подозревал обо всех этих проблемах, т.к. у меня все сложные вещи сложены в файлы скриптов. Единственное моё тайное знание: скрипты нужно вызывать с использованием команды source. Так: source my-script.sh.
За статью спасибо. Полезно узнать какие грабли лежат в тех краях, в которые ещё не ходил.

Добрый день. Для проверки баш портянок локально использую https://github.com/firecow/gitlab-ci-local. Есть некоторые ограничения, но для моих нужд обычно всего хватало.

Кстати есть аналогичная программа для локального запуска github actions. Показалось, что в ней больше ограничений, но все таки лучше, чем ничего.

Как минимум узнал из статьи что за непонятное приложение у меня на телефоне с недавних пор появилось.

Соотношение количества полезной информации к количеству упоминаний Купера (который не агент, к сожалению) наводит на мысль, что статья задумана как маркетинговая.

В первой задаче выставляете нужный output, во вторую ставите зависимость на эту задачу и добавляете условие if

Sign up to leave a comment.