Python. Пользуемся Continuous Integration сервисом Travis CI

Где-то с полгода знаю о классном сервисе Travis-CI, но только сегодня нашёл время его опробовать на одном из своих проектов опубликованных на GitHub.
Travis CI - это Continuous Integraton сервис для множества языков программирования (C, C++, Clojure, Erlang, Go, Groovy, Haskell, Java, JavaScript/Node.js, Perl, PHP, Python, Ruby, Scala), и меня конечно же заинтересовала поддержка Python.
Как пользоваться Тревисом описано в документации, но ниже я как раз это и опишу:
- Для работы с сервисом необходимо иметь аккаунт на GitHub;
- Войдите на и авторизуйтесь через GitHub;
- После авторизации войдите в свой Profile и вы увидите все ваши репозитории, выберите нужные и переведите их из состояни OFF в состояние ON, тем самым вы включите "Travis service hook" для вашего репозитория в GitHub.
Примерно как в примере:
Теперь перейдем к настройке.
Настройка
Вам надо добавить в корень своего репозитория файл ".travis.yml", например с таким содержимым:
# Тут указывается используемый в проекте язык программирования, можно указать несколько language: python # Далее, укажите версии python для которых нужно производить сборки python: - "2.6" - "2.7" # Параметры окружения env: - DJANGO_VERSION=1.4.1 # Команда для установки зависимостей в окружение (при этом доступны переменные из секции "env") install: - pip install -q Django==$DJANGO_VERSION - pip install -r requirements.txt --use-mirrors # Команда для запуска тестов, в моем случае они запускаются именно так script: python multi_sessions/tests.py
Тревис запустит ваш проект под virtualenv, с уже предустановленными пакетами: pytest, nose и mock, так что их указывать в секции "install" не имеет смысла.
Тревис будет запускать несколько сборок для каждой указанной версии python, т.е. если я указал 2 версии python то Тревис подготовит 2 сборки. А если укажете несколько "DJANGO_VERSION", то Тревис запустит для каждого python по версии "DJANGO_VERSION". Вообщем получается матрица.
Для проверки файла настроек можно использовать
Для применения файла настроек сделайте git-push своего репозитория в GitHub.
Использование
После того как вы указали какой репозиторий надо мониторить (через "Travis service hook") и сделали push конфига, воркеры Тревиса получат изменения из репозитория, соберут окружение и запустят секцию "script" (то есть конкретно наши тесты).
По результатам сборки будет составлен отчет и послан на почту, так же его можно будет посмотреть на странице проекта в Тревисе, например для моего проекта
Соответственно могут быть 3 статуса:
- Красный - возникли ошибки при сборке;
- Жёлтый - промежуточное состояние, возможно предупреждения или проект просто на этапе сборки;
- Зелёный - сборка прошла успешно!
Для отображения статуса сборки можно использовать картинку, которую следует добавить например в README.rst:
.. image:: :target:
Будет примерно такой результат:

Ну вот и всё, попробуйте Travis-CI и он вам обязательно понравится!
Комментарии
Оставьте свой комментарий