LINUX.ORG.RU

Какой выбрать CI?

 , , , ,


0

2

Всем привет, пишу десктопное приложение, нужно прикрутить CI для автоматической сборки проекта на каждый коммит в ветку master, и в будущем возможно на дополнительные ветки, в определенном своем окружении, генерировать автоматически документацию и деплоить ее на определенный хост. Как лучше всего это организовать? К примеру хотелось бы запускать тесты с определенной версией компилятора, определенными версими библиотек итд, стоит ли использовать Docker для создания этого окружения? Смотрел в сторону TeamCity, сам инструмент мне нравится, но это ентерпрайз, и стоит не малых денег, да и возможно не особо имеет смысл его использовать для моих задач. Для конфигурации сервера, на котором хранится документация и другая информация использую ansible. Какой лучше всего CI для моей задачи использовать? Так же хочется чтобы билды производились на разных операционных системах - на Windows, Linux и MacOS

★★★

Последнее исправление: Int64 (всего исправлений: 3)

если один проект. и уже есть ansible, то jenkins-мастер и к нему три слейва-виртуалки на постоянной основе.

Конфиги слейвов в ansible, и докер тебе не нужен.

Docker начинает иметь смысл если у тебя появляется несколько разномастных проектов требующих разных конфликтующих тулчейнов.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Ну проект один, но этот проект включает несколько под проектов, различных ферймворков итд, которые написанны именно под этот проект, я думал запускать либо все тесты со всех фреймворков и в самом проекте, либо как-то разбить их на под проекты, подключаются они как подмодули.

А чем вообще TeamCity к примеру лучше Jenkins? Интересно за какие фичи люди платят.

Int64 ★★★
() автор топика
Ответ на: комментарий от Int64

Если фреймворков много - это не проблема, просто дополняешь свои плейбуки и т.п.

Проблемы начинаются когда есть несколько проектов на одном фреймворке (или базовой системе), но не синхронизированы по версиям.

Про team city не знаю, не приходилось с ним работать, зато знаю что, например, за Bamboo платят исключительно по глупости. Никаких реальных причин его использовать нет и бонусов у нет тоже. Так что платят/не платят вообще не показатель нужности.

Тебе скорее надо сравнивать hosted vs as-a-service. Если ты поддерживаешь свою систему сам, то jenkins, nexus в качестве хранилища артефактов и docker-репозитория по необходимости.

Если хочешь как сервис, чтобы не думать о мониторинге, объеме логов и диска и т.п., то gitlab сейчас в тренде.

И кстати, твое приложение десктопное, оно в контейнере то вообще имеет смысл?

alpha ★★★★★
()

Давно работаю с Дженкинсом, из плюсов-есть огромное количество плагинов на каждый чих и огромное количество способов сделать одно и то же. Из минусов-хроническая забагованность в самых неожиданных местах, но этот минус перекрывается пунктом вторым (если способ1 глючит, можно попробовать сделать то, что нужно через способ2, способ3 и т.д.). В целом довольно стабилен, если какой-то глюк есть то о нём сообщается сразу, громко и чётко, багов Шрёдингера замечено не было.

Pyzia ★★★★★
()

Конечно gitlab-ci. Зачем городить еще сущности, да еще хостить и админить сам дженкинс.

stave ★★★★★
()
Ответ на: комментарий от alpha

Проблемы начинаются когда есть несколько проектов на одном фреймворке (или базовой системе), но не синхронизированы по версиям.

Пока что только один проект использует эти фреймворки, и вряд ли что-то другое будет их использовать в ближайшем будущем.

Тебе скорее надо сравнивать hosted vs as-a-service. Если ты поддерживаешь свою систему сам, то jenkins, nexus в качестве хранилища артефактов и docker-репозитория по необходимости.

Ну отдельный сервер в любом случае уже есть, тот же gitlab хостится на нем.

Если хочешь как сервис, чтобы не думать о мониторинге, объеме логов и диска и т.п., то gitlab сейчас в тренде.

Да вот как раз думаю попробовать gitlab ci, сравню с TeamCity.

И кстати, твое приложение десктопное, оно в контейнере то вообще имеет смысл?

не знаю, просто модная штуку нынче, сам я в докере не разбираюсь почти что совсем, мне показалось для создания определенного окружения удобно, ну к примеру разные версии компилятора использовать )

Int64 ★★★
() автор топика
Ответ на: комментарий от stave

Ну вот дженкинс как раз отпугивает немного меня, а gitlab-ci вроде бы все хвалят, обязательно попробую на днях.

Int64 ★★★
() автор топика
Ответ на: комментарий от XMs

Кстати там же (в gitlab) еще и issue трекер на сколько я знаю есть, надо его тоже потыкать, вообще использую YouTrack, он мне очень нравится и относительно не дорогой, но может передумаю.

Int64 ★★★
() автор топика
Последнее исправление: Int64 (всего исправлений: 1)
Ответ на: комментарий от Int64

TeamCity отлично интегрируется с jira, более плюсов не видел. Ну и он платный.

gadzira
()
Ответ на: комментарий от Pyzia

плагины дженкинса - это как плюс так и минус. Очень важно не усугублять и не гнаться за каждой финтифлюшкой, не надо раскрашивать билды в разные цвета, постить котиков в лог, обсчитывать аналитику по тестам и т.п. силами дженкинс-мастера.

Тот же например подсчет трендов test coverage и рисование графика в интерфейсе может положить всю мастер ноду.

Есть порядка 10-20 важных широкоиспользуемых плагинов: SSH, Git, E-mail.. всё что не влезает в них лучше заменить внешними сервисами и простыми скриптами.

alpha ★★★★★
()
Последнее исправление: alpha (всего исправлений: 1)
Ответ на: комментарий от alpha

Есть такое, помню был случай, нужна была строго определённая версия maven, поставил нужный плагин а он не пашет! Просто вываливает стектрейс при попытке применить изменения. Другая версия пашет, а нужная-нет. Пришлось устанавливать на мастер-ноду мавен нужной версии из сорцов и уже его дёргать через баш-скрипт на дженкинсе. Вообще иногда кажется, что на нём проще всё делать через баш-скрипт. Эдакая запускалка баш-скриптов на серваке. Как по мне очень удобно, не всем же нужен ссш доступ и вообще некоторых пугает консоль.

Pyzia ★★★★★
()

Юзаем GitLab CI, довольны.

anonymous
()

Смотрел в сторону TeamCity

Забудь, мерзейшая мерзость. Нормальных опенсорсных CI пруд пруди, любая позволяет всё что тебе нужно.

slovazap ★★★★★
()

buildbot, естественно. Если только ты не предпочитаешь JVM.

tailgunner ★★★★★
()

в целосм плюсану дженкинс.

но.

в будущем возможно на дополнительные ветки, в определенном своем окружении, генерировать автоматически документацию и деплоить ее на определенный хост.

без минимального гитлабового ЦэИ не взлетит, внезапно, но все равно дженкинс.

очень хочется поделиться ))

Rastafarra ★★★★
()

gitlab-ci Прост как тапок. Чего там с виндой, не знаю, но раннеры вроде можно запускать и на винде. Докер отлично интегрируется туда, но и без него возможна работа.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.