Comments 9
Статья крутая, но я по прежнему буду топить за Jenkins - вот там возможностей действительно море!
Почти все ваши проблемы от впихивания в пайплайны портянок баша. У меня возникает вопрос, а как вы их проверяете вне гитлаба, и не лучше ли вынести всё в отдельные sh-файлы?
А в какой CI-системе нет портянок баша?) Хотя не, в TFS я видел портянки повершелла, лучше ли это?..
не лучше ли вынести всё в отдельные sh-файлы?
В какой-то момент нужно ограничить количество уровней вложенности кода и на мой вкус, когда у меня уже есть какой-то include-файл, в котором хранится только код конкретной джобы, то вырезать скрипты оттуда в отдельные файлы это уже перебор. Они все равно нигде больше не переиспользуются. KISS, не?
как вы их проверяете вне гитлаба?
А как их проверить вне гитлаба, если они созданы именно для применения в гитлабе? Эти скрипты активно используют внутренние переменные гитлаба и на входе у них, помимо кода, очень много того, что локально замокать проблематично. Да и результат выполнения тоже может требовать специфического окружения, например, токенов для выгрузки результатов работы джобы.
То, что должно работать на машине у пользователя, конечно разумно выносить из гитлаба. Например, локально у нас работают pre-commit хуки для проверки соответствия коммита стандартам.
Мне кажется, что слово stupid, в аббревиатуре KISS, говорит о том что решения должны избегать тайных знаний так, чтобы даже джун мог внести правки, ничего не сломав. В данном случае, вся статья про тайные знания. Я и не подозревал обо всех этих проблемах, т.к. у меня все сложные вещи сложены в файлы скриптов. Единственное моё тайное знание: скрипты нужно вызывать с использованием команды source. Так: source my-script.sh
.
За статью спасибо. Полезно узнать какие грабли лежат в тех краях, в которые ещё не ходил.
Добрый день. Для проверки баш портянок локально использую https://github.com/firecow/gitlab-ci-local. Есть некоторые ограничения, но для моих нужд обычно всего хватало.
Кстати есть аналогичная программа для локального запуска github actions. Показалось, что в ней больше ограничений, но все таки лучше, чем ничего.
Как минимум узнал из статьи что за непонятное приложение у меня на телефоне с недавних пор появилось.
Соотношение количества полезной информации к количеству упоминаний Купера (который не агент, к сожалению) наводит на мысль, что статья задумана как маркетинговая.
Пайплайны Gitlab CI: моя коллекция граблей