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;
После авторизации войдите в свой 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" (то есть конкретно наши тесты).
Комментарии
Оставьте свой комментарий