Есть ли у Jenkins (а не Jenkins X) поддержка gitops?

Я пытаюсь настроить Kubernetes для своей компании. Я хорошо изучил Jenkins X и, хотя мне очень нравится дорожная карта, я пришел к осознанию того, что она, вероятно, еще недостаточно развита для моей компании, чтобы использовать ее в настоящее время. (Пользовательский интерфейс в предварительном просмотре, нестабильная командная строка, случайные потребности в IP-адресах и плохая поддержка Windows - вот лишь некоторые из проблем, которые привели меня к такому выводу.)

Но я понимаю, что обычный Jenkins очень зрелый и может работать на Kubernetes. Я также понимаю, что в кластере могут запускаться динамически созданные агенты сборки.

Но я не уверен в поддержке gitops. Когда я пытаюсь погуглить (gitops jenkins) Я получаю кучу информации, включая Jenkins X.

Есть ли простой способ для обычного Дженкинса использовать GitOps? Если да, то как?

Обновление: под
GitOps я имею в виду нечто похожее на то, что поддерживает Jenkins X. (Имеются в виду изменения в кластере, хранящемся в репозитории Git. А слияние вызывает развертывание.)

1 ответ

Я имею в виду нечто похожее на то, что поддерживает Jenkins X. (Имеются в виду изменения в кластере, хранящемся в репозитории Git. А слияние вызывает развертывание.)

Да, это то, что делает Jenkins (или другие инструменты CICD). Вы можете объявить конвейер развертывания в файле Jenkins, который запускается при слиянии (зафиксировать в мастере), и выполнить другие шаги для других ветвей (если хотите).

Я рекомендую развернуть с помощью kubectl, используя kustomize, и сохранить файлы конфигурации в вашем репозитории Git. Вы параметризуете различные среды, например постановку и производство, с помощью наложений. Вы можете, например, развернуть только 2 реплики в стадии подготовки, но с 6 репликами и большим количеством ресурсов памяти в производстве.

Используя для этого Jenkins, я бы создал образ агента докера сkubectl, чтобы ваши шаги могли использоватьkubectl инструмент командной строки.

Дженкинс в Kubernetes

Но я понимаю, что обычный Jenkins очень зрелый и может работать на Kubernetes. Я также понимаю, что в кластере могут запускаться динамически созданные агенты сборки.

У меня не было лучшего опыта в этом. Это может работать - а может и не работать так хорошо. В настоящее время я размещаю Jenkins за пределами кластера Kubernetes. Я думаю, что Jenkins X вместе с Tekton может стать перспективным решением для этого, но я не пробовал эту настройку.

Другие вопросы по тегам