Возможна ли непрерывная интеграция для разработки под iOS?

Возможна ли непрерывная интеграция для iOS. Снова моя сборка Jenkins терпит неудачу с «Срок действия вашего сеанса истек. Пожалуйста, войдите ». и я начинаю спрашивать себя, возможна ли вообще непрерывная интеграция для разработки под iOS.

Как вы можете настроить надежную автоматическую систему сборки, которая требует, чтобы пользователь вошел в какую-либо веб-службу, что может истечь срок действия вашего входа в систему в любой момент? Насколько я понимаю, ответ таков: Вы не можете.

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

Или я что-то упускаю?


comment
Я уже видел его пару раз, думаю, он был очень хорошо интегрирован с Azure DevOps, что стало для меня большим сюрпризом. Как правило, Azure DevOps использует интеграцию с Fastlane. Вы используете Fastlane в своей работе с Дженкинсом?   -  person m1sh0    schedule 17.06.2019
comment
@ m1sh0 Нет - облачные сервисы не подходят. - У нас есть стандартная встроенная сборка, но даже она не работает.   -  person Martin    schedule 17.06.2019
comment
Хорошо, тогда в своем Jenkins вы можете создать задание с помощью этого docs.fastlane.tools / begin-start / ios / appstore-deployment, и все будет хорошо. Есть некоторые вещи, например, как увеличить версию сборки и версию приложения, что может быть немного сложно, но в целом нет проблем, чтобы все было полностью автоматизировано.   -  person m1sh0    schedule 17.06.2019
comment
@ m1sh0 Я разберусь. Fastlane для Android уже установлен, так что, возможно, это действительно лучший вариант. Посмотрим.   -  person Martin    schedule 17.06.2019
comment
Я видел это в разных конфигурациях, чтобы работать, но наверняка это было не так-то просто. По крайней мере, мне потребовалось пару дней, чтобы все заработало. Но в конце концов, это сделало свою работу.   -  person m1sh0    schedule 17.06.2019


Ответы (1)


Как ответ на обсуждение в комментариях, это возможно. Нет простого способа объяснить все, что вам нужно, кроме как вкратце.

Если вы используете Jenkins,

  1. Вам нужен доступ к MacOS, Jenkins, работающему на MacO, или Jenkins Slave, работающему с MacOS.
  2. Xcode на машине из пункта 1. с помощью xcode (инструмент xcode comand) xcbuild.
  3. Интеграции Fastlane (проверьте здесь)
  4. Последнее, что нужно сделать, это точная настройка вашего процесса, как и когда увеличивать сборки и т. Д.

У некоторых поставщиков, таких как Azure DevOps, было легко добавить все эти БОЛЬШИЕ шаги со встроенными компонентами системы.

В общем, я так и не нашел хорошего туториала о том, как делать от начала до конца. Но я много читал и пытался это сделать, не имея большого опыта в мире разработчиков.

P.S. Было бы неплохо, если бы вы сделали хороший урок о том, как это можно сделать, когда вы его сделали (у меня не было времени на это :().

person m1sh0    schedule 17.06.2019
comment
Пробовал без фастлейна. Просто с шагом сборки Jenkins xcode. Может в этом проблема. - person Martin; 17.06.2019
comment
Да то же самое для меня. - person m1sh0; 17.06.2019