# Re: CI
vit01(mira, 1) — Difrex
2019-03-16 16:32:48


vit01>> Вот я потому дженкинс и решил попробовать - из-за его тяжёлости и фичастости. Хочется оценить в работе все возможные фишки CI и потом сформировать личные предпочтения.

Difrex> Все возможные фишки все-равно не оченишь. Нужно от задачи отталкиваться. Если задача просто собрать проект и выкатить артифакт, то и писать на груви и динамически генерировать джобы через xml rpc тебе вряд ли понадобиться.

Писать на Groovy мне, конечно же, нафиг не сдалось, но вот в перспективе генерировать билды через xmlrpc - почему бы и нет? Всякое может быть

В Дженкинсе я разочаровался. В последнее время, он начал рандомно забивать в лог-файл текстовик с ошибками на несколько гигабайт.

Обновить плагины невозможно, внутренняя обновлялка выдаёт exception-ы.

Да и загружать собранную инфу через SSH дистрибутив тоже нынче отказался. Так что повозился с ним и заменил очередными баш-скриптом.

vit01>> "Может быть, достаточно было ограничиться одним bash-скриптом?"
Difrex> Какие сомнения? Gitlab CI очень фичаст, и его огромный плюс в том, что ты держишь конфигурацию билда прямо в репозитории твоего проекта.

Gitlab CI, может быть, очень фичаст, но для его использования надо пользоваться гитлабом, а на текущем этапе мне это пока нецелесообразно.

Difrex> Еще и всяких гуйней нет, что плюс. Drone CI менее фичаст, но умеет тоже много чего.

Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу

В идеале, конечно, хотелось бы что-нибудь подобного с синтаксисом вроде Ansible playbook, но чтобы многие вещи для сборки и развёртки были автоматизированы и был удобный гуй на всякий случай.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: CI
Difrex(dynamic,1) — vit01
2019-03-16 17:17:44


>Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу
Почему оттолкнуло? У тебя получаются изолированные повторяемые билды каждый запуск.
GitlabCI тоже все в докере(dind) собирает.

>В идеале, конечно, хотелось бы что-нибудь подобного с синтаксисом вроде Ansible playbook, но чтобы многие вещи для сборки и развёртки были автоматизированы и был удобный гуй на всякий случай.
Посмотри на CircleCI - там LISP(Clojure) :)

А вообще, если ты хочешь опенсорс собирать, то бери TravisCI и не парься со своими серваками.

# Re: CI
vit01(mira, 1) — Difrex
2019-04-12 15:21:55


>>Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу
Difrex> Почему оттолкнуло? У тебя получаются изолированные повторяемые билды каждый запуск.

Дело не в этом. Docker - сам по себе оверхед, жрёт кучу свободного места на диске своими образами. Да и как-то ради простенького сборочного процесса сохранять отдельный контейнер жирновато.

Difrex> Посмотри на CircleCI - там LISP(Clojure) :)
Difrex> А вообще, если ты хочешь опенсорс собирать, то бери TravisCI и не парься со своими серваками.

CircleCI и Travis не подходят по причине того, что это Software as a Service. Да, это удобно, быстро, прикольно, но надо всегда иметь способы быть независимыми от чужого дяди.

В конечном итоге придётся, видимо, осваивать докерные штучки вроде DroneCI и GitlabCI, а пока что я делаю тупо всё на баш-скриптах и не заморачиваюсь.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: CI
Difrex(dynamic,1) — vit01
2019-04-13 09:11:01


> Дело не в этом. Docker - сам по себе оверхед, жрёт кучу свободного места на диске своими образами
Не сохраняй их. Держи только нужные.

> Да и как-то ради простенького сборочного процесса сохранять отдельный контейнер жирновато.
Сохраняй полученный артифакт, а не новый образ.