Мы Используем Circleci Для Тестирования И Развертывания Приложений Ios.

CircleCI — это служба непрерывной интеграции веб- и мобильных приложений.

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

Сервис позволяет гибко настроить тестирование сборки, поскольку у пользователя есть доступ к sudo. Также возможна установка сторонних пакетов.

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

Если кому интересно, смотрите кат.



Ээкспорт сертификатов

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

— Ээкспортируйте «Apple Worldwide Developer Relations Certification Authority» как «cer» и назовите файл apple.cer; — Ээкспортируйте сертификат распространения как «cer» и назовите его dist.cer; — Ээкспортируйте сертификат распространения как «p12» и назовите его dist.p12. При экспорте вам будет предложено ввести пароль для защиты файла.

Об этом надо помнить, оно понадобится в будущем; — Загрузите специальный профиль обеспечения с портала «Сертификаты, идентификаторы и профили» и назовите его dist.mobileprovision. Все 4 файла помещаем в папку scrips в корне нашего репозитория.

Добавьте скрипты «add-key.sh», «remove-key.sh» и «crashlytics.sh» из пример на Github. — add-key.sh добавляет связку ключей с нашими ключами, а также копирует профиль обеспечения из нашей папки в папку «~/Library/MobileDevice/Provisioning Profiles/» машины сборки; — Remove-key.sh удаляет созданную нами связку ключей и скопированный нами профиль обеспечения; — crashlytics.sh собирает, подписывает сборку и отправляет ее в Crashlytics.

настройка xcode

Добавляем Adhoc-конфигурацию для сборки билдов и ставим ее на сборку через командную строку.



Мы используем CircleCI для тестирования и развертывания приложений iOS.

Затем мы устанавливаем идентификатор подписи кода следующим образом.



Мы используем CircleCI для тестирования и развертывания приложений iOS.

Основная схема и схема тестирования должны находиться в «общем» состоянии.



Мы используем CircleCI для тестирования и развертывания приложений iOS.



Настройка среды CircleCI

Пароли связки ключей и ключи аварийной проверки лучше всего хранить как переменные среды в настройках CircleCI. Для этого перейдите в Настройки проекта -> Переменные среды.



Мы используем CircleCI для тестирования и развертывания приложений iOS.

Добавим переменные с именами KEYCHAIN_PASSWORD, KEY_PASSWORD, CRASHLYTICS_API и CRASHLYTICS_SECRET, где: KEYCHAIN_PASSWORD — его нужно придумать; KEY_PASSWORD — пароль, который мы использовали для шифрования «dist.p12»; CRASHLYTICS_API и CRASHLYTICS_SECRET можно взять из настроек Fabric или Crashlycs.

Мы используем CircleCI для тестирования и развертывания приложений iOS.

Теперь перейдите в «Настройки проекта» -> «Экспериментальные настройки» и установите для параметра «Сборка проектов iOS» значение «Вкл.

».



Мы используем CircleCI для тестирования и развертывания приложений iOS.



Настройка файла конфигурации CircleCI

Для того, чтобы задать настройки сборки сборки и тестирования, необходимо добавить в корень каталога проекта файл с их описанием и назвать его «circle.yml».

   

machine: xcode: version: "6.3.1" environment: XCODE_SCHEME: use-bdd XCODE_WORKSPACE: use-bdd.xcworkspace DEVELOPER_NAME: 'iPhone Distribution' APPNAME: use-bdd PROFILE_UUID: dist MAIL_LIST: [email protected],[email protected] test: override: - xctool -reporter pretty -reporter junit:$CIRCLE_TEST_REPORTS/xcode/results.xml -reporter plain:$CIRCLE_ARTIFACTS/xctool.log CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= PROVISIONING_PROFILE= -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' -sdk iphonesimulator -workspace $XCODE_WORKSPACE -scheme $XCODE_SCHEME build analyze build-tests run-tests deployment: crashlytics: branch: [master, dev] commands: - .

/scripts/add-key.sh - .

/scripts/crashlytics.sh - .

/scripts/remove-key.sh

В разделе «xcode» мы можем указать, какую версию xcode использовать для сборки проекта.

В настоящее время доступны «6.1.1.», «6.2» и «6.3.1».

В разделе «окружение» мы устанавливаем переменные окружения: — XCODE_SCHEME — имя схемы xcode; — XCODE_WORKSPACE — имя рабочей области xcode; — DEVELOPER_NAME — должно соответствовать идентификатору подписи кода, установленному в xcode; — APPNAME — имя приложения; — PROFILE_UUID — имя профиля обеспечения; — MAIL_LIST — список писем, на которые будут приходить уведомления о новых сборках через крашлитикс.

В разделе «тест» собираем, анализируем и тестируем приложение.

В разделе «deployment» собираем все коммиты из веток master и dev и отправляем их в Crashlytics.

Список источников

Документация ; — Выйти замуж за Circle CI за хоккей ; — Распространение Fabric с помощью инструментов сборки iOS Теги: #ios-разработка #ci #circleci #непрерывная интеграция #непрерывная интеграция #мобильная разработка #тестирование ИТ-систем #разработка iOS #Разработка мобильных приложений #Тестирование мобильных приложений
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.