Самый простой CI/CD пайплайн для flutter приложения с Codemagic. Часть 2

В предыдущей статье мы рассмотрели, как организовать самый простой CI/CD для сборки под Android через Codemagic.

Самый простой CI/CD пайплайн для flutter приложения с Codemagic. Часть 1

Допустим, вы являетесь разработчиком на каком-нибудь небольшом проекте. Есть только ограниченный дос…

habr.com

Сегодня рассмотрим, как сделать похожее для iOS. Я также приведу небольшие хитрости, которыми иногда можно пользоваться, но с большой осторожностью.

Настройка Codemagic для iOS. Релизная сборка с подписью

Если сравнивать с аналогичной задачей в Андроид, то тут все выглядит в тысячу раз сложнее. Напомню, что для подписи сборки, которую можно отправить на проверку в AppStore, необходимы:

  • сертификат с расширением .p12 и пароль к нему. Тут важно, чтобы сертификат был для Distribution или iOS Distribution

  • профайл с расширением .mobileprovision с аналогичным правом на App Store Connect Distribution

Сертификат .p12

Разработчик. Предварительно ему нужно сделать на своем компьютере signingRequest.

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

Внимание! Следующие шаги может сделать только владелец аккаунта в App Store Connect, если он зарегистрирован в Apple Developer Program как Individual.

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

MacOS

MacOS

Разработчик. У себя на MacOS он должен открыть ios_distribution.cer, примерно будет такой вид

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

MacOS

Оставляем его на будущее

Профайл .mobileProvision

Владелец аккаунта в App Store Connect должен открыть Certificates, Identifiers & Profiles, раздел Profiles и нажать на плюс

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

Developer Apple

MacOS

MacOS

При добавлении какой-то новой фичи, которой ранее не было в приложении, например, в покупки внутри приложения, нужно будет создавать новый профайл!

Codemagic

Теперь имеются сертификат .p12 и профайл .mobileProvision, которые можно добавить в Codemagic. Делается теперь все очень просто

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

После запуска сборки под iOS и успешного завершения должно получиться это:

codemagic.io

codemagic.io

Также можно скачать артефакты и вручную отправить их по месту назначения.

Настройка Codemagic для iOS. Автоматическая отправка в App Store Connect

В отличие от Андроид с настройкой Google Cloud Console, здесь всё проще, чем могло показаться после истории с подписью.

Здесь также требуются действия владельца аккаунта AppStoreConnect!

  • Сначала нужно открыть Users and Access, раздел Integrations (ссылка) и нажать на плюс, чтобы создать новый ключ

App Store Connect

App Store Connect

App Store Connect

App Store Connect

  • Ключ можно скачать только один раз. Также на этой странице следует сохранить Issuer ID и Key ID, чтобы использовать потом

App Store Connect

App Store Connect

MacOS

MacOS

Его нужно отправить разработчику.

Следующие шаги может уже выполнять разработчик:

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

codemagic.io

Если все настроено верно, то после запуска сборки под iOS будет такой результат:

codemagic.io

codemagic.io

А в TestFlight вот такой:

App Store Connect

App Store Connect

Про ограничения Codemagic

Как и любого сервиса у Codemagic есть свои ограничения и лимиты, которые решаются подключением платных подписок. С этим также следует ознакомиться, прежде чем пользоваться сервисом:

Другими словами, сервис бесплатный. Но если хочется доп фич типа добавления других участников команды разработки, то нужно будет заплатить. Тут уже каждый сам для себя решает.

Заключение

Сегодня детально рассмотрели, как организовать CI/CD для сборки и публикации flutter приложения в App Store Connect с помощью сервиса Codemagic.

Кратко, что требуется разработчику для настройки под iOS:

  • Сертификат .p12, пароль к нему и профайл .mobileprovision — для подписи сборки

  • App Store Connect API Key .p8, Issuer ID и Key ID — для публикации в App Store Connect (TestFlight)

Что требуется сделать владельцу аккаунта в App Store Connect:

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

Если понравился материал, поставьте ⬆️, чтобы я понимал, что тема интересна и писал больше подобных статей

© Habrahabr.ru