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
Пароли связки ключей и ключи аварийной проверки лучше всего хранить как переменные среды в настройках CircleCI. Для этого перейдите в Настройки проекта -> Переменные среды.
Добавим переменные с именами KEYCHAIN_PASSWORD, KEY_PASSWORD, CRASHLYTICS_API и CRASHLYTICS_SECRET, где:
KEYCHAIN_PASSWORD — его нужно придумать;
KEY_PASSWORD — пароль, который мы использовали для шифрования «dist.p12»;
CRASHLYTICS_API и CRASHLYTICS_SECRET можно взять из настроек Fabric или Crashlycs.
Теперь перейдите в «Настройки проекта» -> «Экспериментальные настройки» и установите для параметра «Сборка проектов iOS» значение «Вкл.
».
Настройка файла конфигурации CircleCI
Для того, чтобы задать настройки сборки сборки и тестирования, необходимо добавить в корень каталога проекта файл с их описанием и назвать его «circle.yml».
В разделе «xcode» мы можем указать, какую версию xcode использовать для сборки проекта.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
В настоящее время доступны «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 #Разработка мобильных приложений #Тестирование мобильных приложений-
Ocp Против Ягни
19 Oct, 24 -
Опрос По Поводу Смерти Winamp
19 Oct, 24 -
Lights Out И Его Необычное Использование
19 Oct, 24 -
Разработка Плагина Intellij Idea. Часть 7
19 Oct, 24