Работал с гитлабом последние два года и полностью согласен.
Субъективное мнение что гитлаб заточен под отдельных разработчиков и небольшие компании, где каждый пайплайн можно позволить себе копипастить между проектами.
Как только начинается какая-либо деятельность по стандартизации CI/CD в гитлаб - это или боль и слезы, или такие большие DIY как описаны в статье. Больше всего бесит что очевидные и, в принципе не большие, но важные проблемы в этом направлении давным давно зарепорчены юзерами в трекере гитлаба и висят там годами (например передача значений между джобами - сделано мягко говоря через жопу, документация почти отсутствует, намного проще самому в файле перемещать).
Проект в топике очень интересный, особенно тем что походу это боль в каждой большой компании на гитлабе. Нам пришлось делать очень похожое решение, но не такое продвинутое - мы просто сделали одну команд лайн тулзу со встроенным рантаймом которая покрывала все веб и stdin/stdout возможные сценарии (разные апи, ченжлог генераторы, версии и тд).
Всё что как либо касалось сборки самих проектов и было non-generic - пришлось отдавать самим командам разработчиков, так как поддерживать весь зоопарк стеков и версий просто не хватало рук. Многие команды сами делали shared pipelines yamls уже под свой стак в отдельном проекте, и уже от туда или делали нормальный импорт, или просто копипастили.
И весь этот цирк просто потому что в гитлабе нет нормального концепта реюза CI - да, есть импорт, референсы, даже yaml-якоря, но это просто убогий костыль копипастинга, который в итоге как-нибудь мерджит все куски в одну кучу и как нибудь.
Автор, если вы сможете зарелизить этот проект в опенсорс - я думаю он выстрелит очень быстро и найдет поддержку во многих компаниях.
UI от разрабов - не нужно, но приятно. + Docker extensions
Работал с гитлабом последние два года и полностью согласен.
Субъективное мнение что гитлаб заточен под отдельных разработчиков и небольшие компании, где каждый пайплайн можно позволить себе копипастить между проектами.
Как только начинается какая-либо деятельность по стандартизации CI/CD в гитлаб - это или боль и слезы, или такие большие DIY как описаны в статье. Больше всего бесит что очевидные и, в принципе не большие, но важные проблемы в этом направлении давным давно зарепорчены юзерами в трекере гитлаба и висят там годами (например передача значений между джобами - сделано мягко говоря через жопу, документация почти отсутствует, намного проще самому в файле перемещать).
Проект в топике очень интересный, особенно тем что походу это боль в каждой большой компании на гитлабе. Нам пришлось делать очень похожое решение, но не такое продвинутое - мы просто сделали одну команд лайн тулзу со встроенным рантаймом которая покрывала все веб и stdin/stdout возможные сценарии (разные апи, ченжлог генераторы, версии и тд).
Всё что как либо касалось сборки самих проектов и было non-generic - пришлось отдавать самим командам разработчиков, так как поддерживать весь зоопарк стеков и версий просто не хватало рук. Многие команды сами делали shared pipelines yamls уже под свой стак в отдельном проекте, и уже от туда или делали нормальный импорт, или просто копипастили.
И весь этот цирк просто потому что в гитлабе нет нормального концепта реюза CI - да, есть импорт, референсы, даже yaml-якоря, но это просто убогий костыль копипастинга, который в итоге как-нибудь мерджит все куски в одну кучу и как нибудь.
Автор, если вы сможете зарелизить этот проект в опенсорс - я думаю он выстрелит очень быстро и найдет поддержку во многих компаниях.