Непрерывная интеграция (CI) позволяет команде быстро фиксировать свою работу, а это означает, что ежедневно в хранилище будет несколько коммитов. Каждый раз, когда происходит фиксация, она проверяется автоматической сборкой (включая тестирование), чтобы немедленно предупредить вас о любых ошибках сборки или тестирования. Как только процесс интеграции и проверки вашей работы в мастере станет автоматическим, вы сможете быстро разработать связное программное обеспечение.
Что такое Трэвис CI?
Travis CI автоматически настраивает среду CI и позволяет любому легко тестировать и развертывать свое приложение. Их система сборки поддерживает много разных языков, вам просто нужно определить, на каком языке этот проект, а Travis CI позаботится обо всем остальном. Вы можете найти больше информации обо всех других средах, которые они предлагают, в своих документах , но в этой статье мы сосредоточимся на добавлении Travis CI в репозиторий PHP на GitHub.
Общедоступные репозитории на Github могут использовать Travis CI бесплатно, но они используют общие блоки сообщества и находятся в очередях. Чтобы использовать частный репозиторий с Travis CI, вы можете подписаться на один из их планов и создать свой проект без ожидания, плюс у вас может быть одновременная работа.
Примечание. Сайт с открытым исходным кодом оканчивается на «.org» ( https://travis-ci.org/ ), а сайт частного репозитория заканчивается на «.com» ( https://travis-ci.com/ ).
Начало работы с Travis CI
Чтобы следовать, просто разветвите этот репозиторий. Пожалуйста, не стесняйтесь менять файлы и смотрите, что делают настройки.
Шаг 1: Войти
Войдите в Travis CI с помощью учетной записи GitHub, нажав ссылку « Войти» в правом верхнем углу.
На этой странице вы увидите список создаваемых общедоступных репозиториев. Чтобы посмотреть их сборку в прямом эфире, просто нажмите один из них.
Шаг 2. Синхронизируйте ваши репозитории на GitHub
После того, как вы войдете в систему, Travis CI синхронизирует ваши общедоступные репозитории с вашей учетной записью на странице вашего профиля . Затем вам нужно будет нажать кнопку переключения в положение «Вкл.». Теперь каждый раз, когда вы фиксируете этот репозиторий, GitHub будет вызывать Travis CI и автоматически запускать процесс сборки.
Если вы создали репозиторий и не видите его в списке, нажмите « Синхронизировать сейчас» на странице своего профиля, и там появится ваш вновь созданный репозиторий.
Шаг 3: Добавьте файл .travis.yml в свой репозиторий.
Чтобы сообщить Travis CI, в каких средах вы хотите, чтобы ваш репозиторий был создан и протестирован, вам нужно добавить .travis.yml
Travis CI выполнит ваши тесты на основе матрицы всех возможных комбинаций вашей конфигурации, используя:
- Время выполнения вы указали под
php
- Переменные окружения, которые вы определяете с помощью
env
- Исключения, включения и допустимые сбои
Узнайте больше о матрицах сборки
# Required to run your project under the correct environment.
language: php
# Versions of PHP you want your project run with.
php:
- 5.4
- 5.5
- 5.6
- hhvm
# Commands to be run before your environment runs.
before_script:
- composer self-update
- composer install --prefer-source --no-interaction --dev
# Commands you want to run that will verify your build.
script: phpunit
# allow_failures: Allow this build to fail under the specified environments.
# fast_finish: If your build fails do not continue trying to build, just stop.
matrix:
allow_failures:
- php: 5.6
- php: hhvm
fast_finish: true
# Customize when the notification emails are sent.
notifications:
on_success: never
on_failure: always
Пример конфигурации
Узнайте больше о параметрах PHP .travis.yml
Шаг 4: запустить сборку с помощью Git Push
Ваша первая сборка должна быть инициирована коммитом и пушом из GitHub, а не кнопкой Restart Build.
Каждый раз, когда вы помещаете коммит в ветку в вашем хранилище, Travis CI запускает процесс сборки. Как только рабочий станет доступен, он начнет строить ваш проект. Вы можете перейти по https://travis-ci.org/GITHUB_USERNAME/REPO_NAME
Если вы хотите перезапустить сборку, нажмите кнопку « Перезапустить сборку», и вы увидите, как начнется сборка проекта, когда рабочий станет доступен.
Шаг 5: настройка вашей сборки
В репозитории с примерами вы найдете файл .travis.yml
Если вы хотите настроить свою конфигурацию, вы можете настроить практически все, что касается вашей среды сборки.
Узнайте больше о конфигурации PHP Travis CI .
Шаг 6: Проверьте это
Чтобы проверить, правильно ли вы сконфигурировали свой репозиторий, отредактируйте файл README.md на GitHub и зафиксируйте его. Перейдите на страницу CI Travis этого репозитория, и все кружки в разделе Job должны стать желтыми, и после начала сборки продолжительность должна увеличиться.
Когда сборка будет завершена и индикатор станет красным, щелкните по нему и прочитайте вывод в консоли. Вы также можете настроить Travis CI, чтобы он отправлял вам электронное письмо с информацией о том, что произошло, с помощью параметра notifications
Если ваша сборка не начинается, попробуйте выполнить проверку по YAML Validator, чтобы убедиться, что в вашем файле конфигурации нет ошибок.
Учить больше
Работники Travis CI предоставляют множество различных услуг, от которых вы можете зависеть, и для них есть руководства.
- Документация
- Клиент командной строки
- Построить среду
- Базы данных и другие услуги
- Ускорение сборки
- Travis CI Status
Изображения статуса сборки
Travis CI предоставляет изображение статуса, которое вы можете поместить в README вашего проекта или в общую документацию. Затем посетители могут сразу увидеть его статус сборки.
Вот изображение статуса из примера репозитория. Надеюсь, сейчас он зеленый.
Travis CI PHP Example
===========
[![Build Status](https://travis-ci.org/clouddueling/travis-ci-php-example.svg?branch=master)](https://travis-ci.org/clouddueling/travis-ci-php-example)
Формат URL изображения:
https://travis-ci.org/USERNAME/REPO_NAME.svg?branch=BRANCH_NAME
Краткая информация
Текущий
Все сборки, которые вы определили с опциями конфигурации, будут отображаться здесь с цветным значком рядом с ними, отмечая их статус сборки.
- Пустой экран: вы еще не запустили свою первую сборку
- Желтый: в процессе
- Красный: ошибка, проверьте консоль
- Зеленый: Успех!
История сборки
Каждый раз, когда запускается сборка, она получает номер сборки и создает историю, в которой вы можете увидеть, какой коммит вызвал сборку, ссылку на коммит на GitHub, продолжительность сборки и когда это произошло.
Тянуть запросы
Чтобы дать руководителям проектов четкое представление о том, нарушит ли пулл-запрос вашу сборку, Travis CI автоматически строит ваш проект по этому пул-запросу и показывает его статус в PR.
Сводка по филиалам
Travis CI собирает не только вашу основную ветку, но и все остальные ветви, а Сводка ветвей сообщает вам текущее состояние сборки каждой из них.
Вывод
Как вы можете видеть, Travis CI — это надежный и многофункциональный сервис, направленный на поддержание ваших проектов и реализацию любого и всех вкладов. Вы реализовали это в своих проектах? Есть трюки, чтобы поделиться? Дайте нам знать!