1 заметка с тегом

ios

Bitrise.io — сборка приложений as a service

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

Общая информация и подготовка проекта

  • Для подключения используем ssh протокол;
  • Во время добавления проекта необходимо отметить Stack: лучше всего использовать последние версии;
  • Webhook автоматически настраивается при интеграции с Gitlab.

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

Настройка сборки iOS

Подготовка данных для сборки

Во вкладке Workflow, панель Code signing & Files необходимо добавить Provisioning Profile, а также сертификат организации.

Во вкладке Workflow, панель Triggers необходимо указать:

  • для Push: push branch — master; workflow — deploy;
  • для Pull Request: source branch — master; workflow — deploy.

Настройка процесса сборки

  1. Выбираем вкладку Workflow ➞ Workflow editor ➞ deploy ➞ шаг Xcode Archive for iOS. В пункте Select method for export выбираем ad-hoc.
  2. Настройка инкремента версии После шага Git Clone Repository добавляем еще один новый: Set Xcode Project Build Number. В поле Info.plist file path добавляем строчку:
    $BITRISE_SOURCE_DIR/app_name/Application/Info.plist
    (/app_name/Application/Info.plist — расположение файла зависит от проекта).
  3. Настройка загрузки в fabric.io. После шага Deploy to Bitrise.io, добавить новый workflow: Fabric / Crashlytics deployer. В настройках указать:
    Fabric: API Key,
    Fabric: Build Secret,
    Notify: Group Aliases — alias группы, по которой будет автоматически рассылаться успешная сборка *

Настройка сборки Android

Подготовка данных для сборки

Во вкладке Workflow, панель Code signing & Files необходимо добавить Keystore проекта и заполнить необходимую информацию.

Во вкладке Workflow, панель Triggers необходимо указать:

  • для Push: push branch — master; workflow — primary;
  • для Pull Request: source branch — master; workflow — primary.

Настройка процесса сборки

Выбираем вкладку Workflow ➞ App Env Vars ➞ GRADLE_TASK. Отметить галочку Replace variables in input?, в поле «=» вставить:

assembleRelease -PversionCode=${BITRISE_BUILD_NUMBER} crashlyticsUploadDistributionRelease

Подготовка проекта Android

Необходимо внести изменения в файл build.gradle

  1. Добавить секцию signing configs
    android { 
    … 
      signingConfigs { 
        release { 
          keyAlias System.getenv("BITRISEIO_ANDROID_KEYSTORE_ALIAS") 
          keyPassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") 
          storeFile file(System.getenv("BITRISE_SOURCE_DIR") + "/keystores/keystore.jks") 
          storePassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PASSWORD") 
        } 
      } 
    … 
     }
  2. Обновить секцию build types (данная секция должна быть расположена после signingConfigs)
    android { 
    … 
      buildTypes { 
    … 
        release { 
          … 
            signingConfig signingConfigs.release 
            ext.betaDistributionGroupAliases = “alias группы, по которой будет автоматически рассылаться успешная сборка *" 
          … 
        } 
    … 
      } 
    … 
     }
  3. Объявить функцию получения версии (перед основной секцией android)
    def getVersionCode = { -> 
        def code = project.hasProperty('versionCode') ? versionCode.toInteger() + 15 : 1; // 15 – offset, может быть любое число, если сборки в bitrise начались позже, чтобы компенсировать разницу 
        return code 
    }
  4. Обновить поле получения версии
    android { 
    … 
      defaultConfig { 
        … 
        versionCode getVersionCode() 
        … 
      } 
    … 
    }



* Заходим в fabric.io ➞ переходим в проект ➞ Manage Groups ➞ Выбираем нужную группу (или создаем ее).

2017   android   bitrise   ci   fabric   ios