Comments 32
Создаем замену GitLab CI на базе OpenSource-инструментов
У GitLab есть Community Edition - бесплатная версия.
Пользуемся GitLab CE (self-hosted). Денег не берут.
Есть опасения что GitLab CE станет платной?
GitLab CE имеет ограничения: 5GiB диск, 400 мин пайплайнов в месяц, и 5 пользователей. Gitorion Platform таких ограничений не имеет
Вы точно про self-hosted CE?
UPD: простите, не обратил внимание что вы свой продукт рекламируете
Как я понимаю для self-hosted эти ограничения не распространяются.
В Gitlab нет таких ограничений, причём даже в облачной версии, не вводите людей в заблуждение.
Только минуты облачных Gitlab runner'ов ограничены, как и в любом подобном облачном решении. Чтобы использовать их сколько угодно, нужно подключить свои Gitlab runner'ы, которые легко поднимаются в кубере с автоскейлингом и на spot инстансах и всё.
Основные ограничения Gitlab CE в дополнительном функционале, без которого абсолютно нормально живут большинство даже при серьезной коммерческой разработке (точнее большая часть реализуется самостоятельно без проблем) (mandatory MR approvals, security scans & etc)
Мы просто привели данные с официального сайта GitLab https://about.gitlab.com/pricing/
Спасибо что поправили нас. У нас не было цели вводить в заблуждение
Как это развернуть у себя?
Если это пошаговое how-to, то где шаги для воспроизведения?
Какие плюсы по сравнению с Gitea Actions или Drone?
Почему это называется "платформа"?
В голосовалке отсутствует ещё один вариант
Это серия статей в которой мы осветим наш путь. "платформа" - потому что мы собрали в единое целое несколько CI/CD инструментов в один готовый продукт. Какой вариант вы бы добавили в голосовалку?
Тогда уж не Drone CI, а Woodpecker CI.
Вообще, странно, что выбор был сделан в пользу Gitea (а не Forgejo), т.к. недавно Gitea стал "немножко" несвободным (и лично мне не до конца ясно, будет ли ограничение лицензии на использование Gitea в коммерческой платформе).
Также для меня странно, что в качестве CI выбран Jenkins, а не что-то иное - например, Drone/Woodpecker/иное. Да, Jenkins может быть хорош и прекрасен, но мне не посчастливилось ещё увидеть такой случай - чаще наоборот.
Ну, допустим. Давайте посмотрим на второй пост автора/команды.
Ценное замечание. Решение принималось до появления Forgejo. Мы учтем его и проработаем подключение Forgejo в платформу. Jenkins выбрали из-за большого числа плагинов
А где можно почитать про несвободность Gitea? На сайте вижу MIT.
Спасибо за рекомендации. Подробнее вставшие перед нами задачи по непрерывной интеграции и их решение с помощью Gitea мы рассмотрим во второй статье, задачи по непрерывной доставке и их решение с помощью Jenkins в третьей статье и задачи по аутентификации и их решение с помощью Keycloak в четвертой статье. И можно будет плотнее обсудить альтернативы и избыточность использованных инструментов
Если хотите настоящий GiOps, посмотрите на Argo/Flux. Как по мне kubecl apply или helm upgrade такой себе GitOps
В 2024 году Jenkins? Вы серьезно?!
Нам нужно было по web-хуку вытянуть git-репозиторий, собрать Docker-образ и выполнить деплой в кластер Kubernetes. Все эти задачи решили c помощью Jenkins. А какой инструмент вы бы посоветовали для непрерывной доставки?
ArgoCD
У ArgoCD среди Webhook integration только - GitHub, BitBucket, GitLab, а Gitea/Forgejo в списке нет. А мы строим Gitorion Platform как self-hosted решение с собственным хостингом хода и системой управления версиями
В 2024 году Jenkins? Вы серьезно?!
Вполне. А что с ним не так ?
В случае ci/cd сейчас полностью достаточно gitlab-ci и github actions. Нет никакой необходимости в лишних сервисах, весь ci интегрирован с системами хранения кода и очень удобен. Там же приватные хранилища контейнеров и внешних пакетов. И все это есть в бесплатном GitLab CE для локалки.
Если, мы правильно понимаем, большинство предложенных решений - это коробочные решения и вносить в них изменения могут только мейнтейнеры данных продуктов. Компоненты Gitorion запускаются в Kubernetes, что дает возможность удалять и добавлять их по принципу конструктора Лего. Например, выше наше внимание заострили на возможной комерционализации Gitea в будущем и мы просто удалим из платформы контейнеры Gitea и добавим контейнеры Forgejo. Так же выше было замечание об избыточности применения Jenkins. Можно просто удалить из платформы Jenkins и реализовать непрерывную доставку в Forgejo Action, если он покрывает наши потребности. Или заменить Keycloak на Authelia если он окажется действительно избыточным, для наших целей. Но об этом в четвертой статье
В кубернейтс запускается все что можно в контейнеры сложить, т.е. практически все и нахрена спрашивается мне внутри структуры приложение ещё и ci сервисы, когда они снаружи должны быть.
Возможно ваш продукт не плох, но вы явно не изучили рынок. Если вы хотите добиться результатов с этим проектом в первую очередь вам нужно изучить историю гитлаб и вы поймёте как на рынке сформировалась текущая ситуация. А она такова что конкурировать с гитлаб в контексте Селф хост решений (коробок) почти не возможно. Т.к. GitLab CE это опенсорс который бесплатно поддерживает лидер коммерческого рынка то есть сам сервис гитлаб. Фишка в том что они пытались его сделать платным но не смогли. И Вам гораздо лучше было бы подходить к вопросу со стороны платформы, где вы бы могли иметь конкурентные преимущества, например хранение исходных кодов в РФ и конкуренция в цене. А со стороны Селф хоста конкурировать с бесплатным продуктом в котором в силу исторических обстоятельств отсутствуют недостатки бесплатных решений и опен сорса будет очень сложно, если вообще возможно.
Это не хейт, а искреннее желание помочь вам получить фидбек.
У нас нет цели конкурировать с GitLab. Это было бы слишком самоуверенно. Идея в том чтобы создать альтернативу из Open-Souce инструментов, принадлежащих сообществу и не зависящих ни от коммерческих, ни от облачных решений. Из преимуществ выше мы уже озвучивали, что набор инструментов может варьироваться исходя из предпочтений заказчика.
Далеко не все используют github/gitlab. Мы например bitbucket
Битбакет тоже поддерживает и gitlab-ci , и полно инструментов для конвертации пайплайна.
Битбакет тоже поддерживает и gitlab-ci , и полно инструментов для конвертации пайплайна.
понятно, что сову можно натянуть на любой глобус, было бы желание, но зачем
CI/CD Kubernetes платформа Gitorion. Создаем замену GitLab CI на базе OpenSource-инструментов