Начало работы с Buck на базе Travis CI

Travis CI - это сервис, который предлагает бесплатные серверы сборки для open-source проектов (спасибо, венчурные капиталисты!). Он имеет тесную интеграцию с GitHub, что позволяет автоматически создавать и тестировать код в запросе на перенос перед объединением. Это отлично подходит для проектов с несколькими участниками, потому что вы можете запускать тесты, не проверяя код самостоятельно.

Но как интегрировать проект на основе Buck с Travis CI?

Чтобы следовать этому руководству, вам понадобится следующее:

TL;DR

Возьмите соответствующие файлы из репозитория примеров на GitHub.

Создайте файл .travis.yml

В основе проекта Travis лежит файл .travis.yml. Это файл YAML, который определяет этапы сборки и среду сборки для вашего проекта. Наиболее важным свойством является script, который представляет собой список команд Bash.

Например:

Установить зависимости сборки

Buck не входит в комплект системных образов Travis, поэтому нам нужно будет добавить шаг установки в файл Travis. Шаги установки находятся под элементом before_install.

Самый простой способ запустить Buck в Linux - через Linuxbrew, порт Linux для Homebrew. Как и Homebrew, Linuxbrew позволяет нам легко устанавливать пакеты в пользовательском пространстве, и в основном он совместим с пакетами.

Этот фрагмент кода выполняется до создания проекта. Сначала он устанавливает Linuxbrew, а затем использует Linuxbrew для установки Buck.

Вы могли заметить, что мы не использовали предоставленный сценарий установки Linuxbrew. Это потому, что лучше всего хранить все в домашней папке, что гарантирует, что пользователь Travis будет иметь доступ для чтения и записи.

После установки Buck script часть .travis.yml может вызывать Buck:

Собирая все вместе, получаем следующее:

Добавьте этот файл в корень вашего проекта и не забудьте изменить команду buck build, чтобы она указывала на правильную цель Buck!

Подключите Travis CI к GitHub

После того, как файл Travis будет на месте, вам необходимо подключить Travis CI к вашему проекту GitHub. Создайте учетную запись на Travis CI, затем нажмите переключатель на проекте, который хотите интегрировать.

Теперь Трэвис будет интегрирован с вашим проектом, и он начнет строить master. Вы также заметите, что в ваших запросах на включение появляются полезные уведомления!

Ускорение сборки

Сборка займет некоторое время, потому что она каждый раз должна устанавливать все зависимости! Мы можем значительно улучшить это, воспользовавшись функцией кеширования Travis CI.

Travis CI позволяет пометить каталог как кэшированный, что означает, что он будет повторно использоваться между сборками. Поскольку мы установили Linuxbrew в пользовательской среде, мы можем просто кэшировать весь каталог ~/.linuxbrew. В последующих сборках Linuxbrew обнаружит, что наши зависимости уже установлены, и пропустит этап установки.

Нам также нужно убедиться, что мы не git clone Linuxbrew дважды:

Собрав все вместе, мы получаем готовый файл Travis:

Вывод

И это все! Для начала работы должно быть достаточно полного файла Travis, или вы можете взять соответствующие файлы из репозитория примеров на GitHub.

Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсуждать рекламные и спонсорские возможности.

Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!