Рубрики
Uncategorized

Как развернуть приложения для iOS для автоматического апстора?

Хотите знать, как автоматически подтолкнуть ваше приложение для iOS в AppStore? Первоначально написано моим другом Vignesw … С тегами DevOps, iOS, учебник, новички.

Хотите знать, как автоматически подтолкнуть ваше приложение для iOS в AppStore? Первоначально написано моим другом VigneswaranПошаговый учебник Детализация о процессе настройки конвейера CI/CD для мобильных приложений iOS с использованием Gitlab ci и fastlane Анкет

Таким образом, это шаги, которые вы должны следовать.

1. Шаги для ручной установки Gitlab Runner:

Вам нужны конкретные бегуны вместо общих бегунов, предоставленных Gitlab, для развертывания iOS. Вы можете установить их на локальных Mac Machines/Mac -серверах (Macstadium). Ниже приведены шаги по настройке бегунов в MacOS и OS X.

1. Загрузите двоичный файл для вашей системы:
sudo curl --output /usr/local/bin/gitlab-runner 
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
2. Дать ему разрешения на выполнение:
sudo chmod +x /usr/local/bin/gitlab-runner

Примечание: Остальные команды будут выполняться как пользователь, который запустит бегун. (Это ограничение на macOS).

3. Установите бегуна в качестве сервиса и запустите его:
cd ~
gitlab-runner install
gitlab-runner start

2. Шаги для регистрации бегуна:

1. Чтобы зарегистрировать бегуна под MacOS, сначала запустите приведенную ниже команду.
gitlab-runner register
2. Введите URL -адрес экземпляра Gitlab, когда его предъявлен на следующем шаге.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
3. Введите токен, который вы получили, чтобы зарегистрировать бегуна:
Please enter the gitlab-ci token for this runner
xxx
4. Введите описание для бегуна, вы можете изменить это позже в пользовательском интерфейсе Gitlab’s:
Please enter the gitlab-ci description for this runner
Local Runner
5. Введите теги, связанные с бегуном, вы можете изменить это позже в пользовательском интерфейсе Гитлаба:
Please enter the gitlab-ci tags for this runner (comma separated):
ios,another-tag
6. Введите теги, связанные с бегуном, вы можете изменить это позже в пользовательском интерфейсе Гитлаба:
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell

Если все идет хорошо, вы должны увидеть активированных бегунов для вашего проекта, как на изображении ниже.

3. Добавление нашего .gitlab.yml:

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

Лучшие практики для модели GIT-разбранного обмена могут быть направлены из этого Статья Анкет Ради простоты, давайте рассмотрим только нашу ветвь « мастер ». Мы предполагаем, что любая коммерция Master Repo необходимо запустить работу в трубопроводе CI.

Давайте настроим файл gitlab.yml, который необходимо размещать в корне репо.

stages:
  - test_flight

variables:
  LC_ALL: "en_US.UTF-8"
  LANG: "en_US.UTF-8"

before_script:
  - gem install bundler
  - pod install

test_flight_build:
  dependencies: []
  stage: test_flight
  artifacts:
     paths:
       - fastlane/logs
  script:
     - fastlane beta
  tags:
     - ios
  only:
     - master

Эта конфигурация запускает задание в конвейере CI « Master » только ветвь, которая выполняет задание со стадией « test_flight », который, в свою очередь, выполняет сценарий « Fastlane Beta » с данным Переменные среды на бегуне » с меткой как iOS «.

Указанный «до скрипта», как следует из названия, выполняется перед заданием и артефактами, доступными на указанном пути после успешного выполнения задания.

4. Установка Fastlane в Mac:

Настройка Fastlane является важным шагом во всем процессе, поскольку он является основой процесса развертывания. Чтобы установить Fastlane в вашей системе, пройдите следующие шаги: Установите последние инструменты командной строки XCode:

sudo gem install fastlane -NV

Установите Fastlane с помощью

# Using RubyGems
sudo gem install fastlane -NV
# Alternatively using Homebrew
brew cask install fastlane

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

Fastlane попросит вам некоторую базовую конфигурацию, а затем создаст папку с именем в вашем проекте, которая будет содержать в основном два файла:

1. Fastlane/Appfile

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

app_identifier("APP IDENTIFIER") # The bundle identifier of your app
apple_id("APPLE ID") # Your Apple email address

2. Fastlane/FastFile

FastFile определяет шаги сборки. Поскольку мы используем много встроенных возможностей Fastlane Это действительно просто. Мы создаем одну полосу движения, которая увеличивает номер сборки, получает сертификаты, строит и загружает новую сборку в TestFlight. Конечно, вы можете разделить их на разные задания в зависимости от вашего варианта использования. Каждый из этих шагов, get_certificates, get_provisioning_profile, match, gym и upload_to_testflight-это предварительно связанные действия, уже включенные в Fastlane Анкет

get_certificates и get_provisioning_profile — это действия, связанные с сертификат и вздох подход к кодам; Если вы используете совпадение Вам может потребоваться обновить это, комментируя get_certificates и get_provisioning_profile.

default_platform(:ios)

platform :ios do
  desc "Build the application"
  lane :beta do
    increment_build_number(
    build_number: latest_testflight_build_number + 1,
    xcodeproj: "${PROJECT_NAME}.xcodeproj"
  )
    get_certificates
    get_provisioning_profile
    # match(type: "appstore",read_only: true)
    gym
    upload_to_testflight
  end
end

3. Fastlane/Гимфил

Этот файл необязательно, но создан вручную, чтобы переопределить выходной каталог по умолчанию и поместить выход в текущую папку. Это делает вещи немного проще для CI. Вы можете прочитать больше о спортзал и его варианты в ДОКУМЕНТАЦИЯ ГРУПК Анкет

output_directory("./")

clean(true)

scheme("${PROJECT_NAME}")

workspace("${PROJECT_NAME}.xcworkspace")

include_bitcode(true)

5. Подключение точек для подписания кода с помощью Fastlane Match

Подписание кода является наиболее важным аспектом развертывания приложений для iOS, мы, как разработчики iOS, знаем о боли решения вопросов подписания кода.

«Матч» Создает все необходимые сертификаты и профили предоставления и хранит их в отдельном репозитории GIT. Каждый член команды с доступом к репо может использовать эти учетные данные для подписания кода. Матч также автоматически ремонтирует сломанные и истекшие учетные данные. Это самый простой способ поделиться подписанием учетных данных в команде.

Fastlane матч резко улучшает процесс подписания кода, даже для небольших команд, поскольку это реализация Подписание кода концепция.

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

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

И это наконец готово

Существуют некоторые специальные переменные среды, которые мы должны установить, чтобы избежать сбоя рабочих мест из -за 2FA из Apple, которые были сделаны в последнее время. Fastlane_apple_application_specific_password и Fastlane_session

Чтобы проверить подлинность в App Store для загрузки TestFlight, Fastlane Должен быть в состоянии аутентифицировать. Чтобы сделать это, вам необходимо создать пароль для конкретного приложения для использования CI. Вы можете прочитать больше об этом процессе в Эта документация Анкет

Fastlane_user и Fastlane_password

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

Вывод

Ах !! Слава вам !!! Мы наконец -то настроили наш собственный рабочий процесс CI/CD с Gitlab CI/CD и Fastlane в качестве основных инструментов.

Спасибо, что прочитали эту статью. Надеюсь, это окажется полезным для настройки надежного рабочего процесса CI/CD для автоматизации процесса развертывания приложения для iOS.

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

Оригинал: «https://dev.to/irshadbluecast/how-to-deploy-ios-apps-to-appstore-automatically-46c1»