Постійна інтеграція (з проектами для iOS та Android) [закрито]


10

Я намагаюся внести деякі позитивні зміни у свою компанію, і одна із змін - це впровадження постійної інтеграції. Ми робимо мобільну розробку (iOS / Android), тому мені потрібен інтерфейс користувача, який підтримує обидва типи проектів. Як ви можете сказати, я не дуже багато знаю про КІ, але я трохи погуглився, і я думаю, що Дженкінс і Хадсон - два найпопулярніші.

У мене є питання з двох частин.

  1. Ваша думка про Дженкінса?
  2. Чи є спосіб, щоб CI перевірив, чи проект відповідає
    стандартам кодування (наприклад, нещільне з’єднання тощо)?

3
"Дженкінс і Хадсон - це два" ... хм, чи знаєте ви, що Дженкінс - це нове ім'я для Хадсона ?
гнат

1
Я справді цього не знав! Як я вже сказав, я справді новачок у КІ і маю 0 досвіду. Soooo .. J & H те саме .. Здогадайтесь, що звужує мої варіанти :)
paxx

Також є Team City, круїз-контроль та інші.
Кайл Ходжсон

@gnat: гадаю, я думаю, що jenkins - це виделка Хадсона. Я думаю, Гудзон все ще там: hudson-ci.org, керований Oracle. Дженкінс - це дуже хороший вил, який більшості людей мігрував. Вибачте, якщо я помиляюся ...
dbalakirev

Відповіді:


9

По-перше, ви можете поглянути на TeamCity як на інший варіант вашого сервера.

На мій погляд (хоча я дещо менший досвід роботи з Дженкінсом, ніж з TeamCity), обидва - це чудові та дуже здібні інструменти - я був би радий в умовах, коли використовуєш будь-який.

Добре, щоб дістатися до м'яса проблеми, тобто

Чи є спосіб, щоб CI перевірив, чи проект відповідає стандартам кодування (наприклад, нещільне з’єднання тощо)?

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

Звичайно , основні сервера збірки вже здатні розмовляти з / інтеграцією з великою кількістю популярних інструментів - так на самому ділі питання стає тим, що інструменти ви використовуєте для перевірки стандартів кодування і робить , що інтеграцію з вашим вибором сервера CI.

Так, сервер CI приносить в грі набагато більше, ніж автоматизація, ніж просто бездумний запуск сценарію - але в кінці дня це і робиться.


Просто для того, щоб було зрозуміло - я знаю, що сервер збирання робить більше, ніж просто запускає скрипти, його автоматизація процесу (і зокрема інтеграція з (D) VCS) додає значення - але відповідаючи на те, "що мені потрібно сервер побудови "питання, відповідь -" сервер і сценарій ", все інше надходить звідти.


Я досить успішно використовував TeamCity як мій сервер CI для iOS. Я б уявив, що використовувати його для Android не потрібно,
квітня 1212

5

Я є другою рекомендацією TeamCity - це чудовий продукт. Я не можу розмовляти з андроїдом, оскільки там у мене немає часу на місце, але я успішно отримав iOS-проекти, що працюють в CI завдяки двом статтям ( 1 2 ).

Найскладніші частини справді були пов'язані з тим, щоб mac запустив автоматизовану збірку за допомогою відповідного брелока, і таким чином ви зможете створити підписане додаток, яке ви зможете розгорнути на iDevice, а не лише на емуляторі.


Чи можливо встановити TeamCity на сервер Linux і потім змусити його обробляти проекти iOS?
paxx

1
TeamCity не має значення, це будівельний агент. А для iOS вам доведеться розгорнути мак. Тільки він має ланцюжок інструментів. Можливо, ви можете робити якісь речі, використовуючи GNUStep, але я підозрюю, що у вас буде досить розчарувати час з чим-небудь нетривіальним.
Wyatt Barnett

2

Я створив сервер і сценарії побудови нашої компанії, перш ніж використовувати Дженкінс, де розробляємо програми для iOS. Як багато хто говорив, сервер CI досить простий, і мені подобається Дженкінс, тому що він безкоштовний / з відкритим кодом і має багато плагінів, таких як публікація звітів про покриття або інтеграція github.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.