Сборка приложений NativeScript в BuddyBuild

Сборка приложений NativeScript в BuddyBuild

Когда вы разрабатываете мобильное приложение командой, очень часто бывает необходимость в общем сервере сборки. Такой сервер может пересобирать ваше приложение после каждого коммита в исходный код и даже сообщать тестерам и пользователям бета-версии о новых билдах. Есть немало способов создать такой сервер непрерывного развертывания, однако мы предпочитаем отдать этот процесс на сторону и использовать облачные сервисы там, где необходимо.

Представляем вам BuddyBuild — облачный сервис для сборки приложений под Android и iOS.

Начать работать с ним очень просто:

  1. Авторизуемся через GitHub, GitLab или другой подобный сервис
  2. Выбираем репозиторий с проектом, который нужно будет собирать в BuddyBuild
  3. Дальше BuddyBuild скачает исходный код и соберёт приложения для Android и iOS

Готовые приложения можно будет скачать и запустить на локальных устройствах, но можно настроить BuddyBuild на автоматическое распространение сборок среди бета-тестеров (аналогично функционалу Telerik AppManager или Microsoft HockeyApp, оба сервиса работают с NativeScript).

BuddyBuild пока не работает с проектами NativeScript прямо «из коробки», но у него имеется очень гибкая настраиваемая система сборки. Каждый билд получает свой чистый экземпляр сервера, поэтому у вас есть возможность настроить окружение так, как необходимо.

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

  1. Post Clone (ПостКлонирование — после завершения импорта свежей версии вашего проекта из репозитория)
  2. Pre Build (ПредСборка — прямо перед началом сборки приложения)
  3. Post Build (ПостСборка — по окончании сборки)

Для приложений NativeScript нам нужно сделать два дополнительных действия до начала сборки:

  1. Установить NativeScript CLI
  2. Подготовить приложение к нативной сборке

Мы сделаем это, добавив этап “Post Clone” к нашему проекту, чтобы установился CLI из npm и запустилась команда tns prepare для генерации файлов для XCode или Gradle.

В корне проекта создайте новый файл buddybuild_postclone.sh. BuddyBuild найдёт этот файл и выполнит его содержимое в нужное время. Добавьте в этот файл следующее:

#!/usr/bin/env bash

# Install NativeScript CLI
echo "******** Install NativeScript CLI *************"
npm install -g nativescript

# NativeScript Ready
echo "******** NativeScript CLI Ready *************"
tns --version

# Prepare NativeScript Project
echo "******** Prepare NativeScript iOS Project *************"
tns prepare ios

Этот код настраивает окружение для сборки приложения под iOS. Если вам нужна поддержка обеих платформ, воспользуйтесь документацией по написанию скрипта сборки.

Комментарии в скрипте (после echo) добавлены для облегчения отладки. Вы получите после сборки полный вывод и в нём можно будет найти возможные ошибки.
Сборка приложений NativeScript в BuddyBuild

Ещё скрины:

Сборка приложений NativeScript в BuddyBuild

Ложка дёгтя

С небольшими проектами сборка в BuddyBuild очень проста — так, как мы её и описали. Но для проектов, включающих кучу плагинов всё может быть не так радужно — сборка таких приложений иногда просто не срабатывала, возможно, это поправят в скором времени.

Но несмотря на это, создание сервера сборки и непрерывного развёртывания никогда ранее не было настолько простым!

Возможно, вы пользуетесь своими инструментами для сборки, поделитесь своим опытом в комментариях 🙂

По материалам «Making NativeScript Work with BuddyBuild» by Todd Anglin

Leave a Comment