Я пытаюсь внести некоторые положительные изменения в свою компанию, и одним из изменений является внедрение непрерывной интеграции. Мы занимаемся мобильной разработкой (iOS / Android), поэтому мне нужен CI, который поддерживает оба типа проектов. Как вы можете сказать, я мало что знаю о КИ, но я немного погуглил и думаю, что Дженкинс и Хадсон - два самых популярных.
У меня есть два вопроса.
- Ваша мысль о Дженкинс?
- Есть ли способ для CI проверить, компилируется ли проект со
стандартами кодирования (например, слабая связь и т. Д.)?
Ответы:
Во-первых, вы можете захотеть взглянуть на TeamCity как еще один вариант для вашего сервера.
На мой взгляд (хотя у меня есть несколько меньший опыт работы с Jenkins, чем с TeamCity), оба являются отличными и очень способными инструментами - я был бы счастлив в среде, использующей любой из них.
Хорошо, чтобы добраться до сути проблемы, т.е.
На самом фундаментальном уровне все, что делает сервер CI, - это запускает сценарий, а затем интерпретирует и представляет результаты выполнения этого сценария - поэтому, если вы можете его записать, то ваш сервер CI, вероятно, сможет запустить его, и если вы сможете соответствующим образом отформатировать вывод, сервер CI, вероятно, может интерпретировать и сообщать о результате.
Конечно, основные серверы сборки уже способны взаимодействовать со многими популярными инструментами и интегрироваться с ними - поэтому на самом деле вопрос состоит в том, какие инструменты вы используете для проверки своих стандартов кодирования и интегрируется ли это с выбранным вами сервером CI.
Да, CI-сервер вносит в игру гораздо больше в плане автоматизации, чем просто бездумный запуск скрипта - но в конце концов именно этим он и занимается.
Просто чтобы прояснить - я знаю, что сервер сборки делает больше, чем просто запускает сценарии, его автоматизация процесса (и, в частности, интеграция с (D) VCS), которая добавляет ценность - но в ответ на вопрос «что мне нужно для вопрос о сервере сборки, ответ - «сервер и скрипт», все остальное вытекает оттуда.
источник
Я повторяю рекомендацию TeamCity - это отличный продукт. Я не могу разговаривать с android, так как у меня нет времени там, но я успешно запустил проекты iOS в CI благодаря двум статьям ( 1 2 ).
Самые хитрые части действительно были связаны с тем, чтобы заставить Mac запускать автоматическую сборку с надлежащей цепочкой ключей, и таким образом вы могли бы создать подписанное приложение, которое вы могли бы развернуть в iDevice, а не только в эмуляторе.
источник
Я настроил сервер сборки и сценарии нашей компании перед использованием Jenkins, где мы разрабатываем приложения для iOS. Как многие говорили, CI-сервер довольно прост, и мне нравится Jenkins, потому что он бесплатный / с открытым исходным кодом и имеет много плагинов, таких как публикация отчетов о покрытии или интеграция с github.
источник