- PVSM.RU - https://www.pvsm.ru -
Привет!
Когда VexorCI [1] начинался, мы решили, что для начала использования не обязательно писать файл конфигурации. Мы сами пытаемся догадаться, что именно нужно для запуска тестов и постоянно учим сервис распознавать новые настройки. Но мир разработки очень разнообразен, поэтому некоторым проектам конфиги необходимы.
За последние пару месяцев к Vexor подключилось 100 проектов. Очень разных проектов с уникальными настройками. За это время мы много узнали о том, как готовить файлы конфигурации так, чтобы это было удобно нашим юзерам. В процессе мы пересмотрели наш первоначальный подход и хотим поделиться с вами нововведениями.
Для того, чтобы понять, какие задачи нужно выполнить для подготовки окружения и запуска тестов в VexorCI, используется файл конфигурации vexor.yml. Этот файл находится в корне репозитория, либо генерируется автоматически. В нем указываются команды, которые будут выполнены для подготовки тестового окружения и запуска тестов.
Раньше, для того, чтобы преобразовать vexor.yml непосредственно в команды, которые выполняет воркер при запуске тестов, мы:
С такой схемой была масса проблем:
Решили ее переделать. Теперь мы:
Отказ от генерации гигантского shell скрипта позволил нам более гибко управлять развертыванием окружения, показывать нашим пользователям понятные сообщения об ошибках и забыть про сложноотлаживаемые баги в shell.
Для начала ипользования VexorCI писать конфиг совершенно не обязательно. Мы сами пытаемся догадаться, что именно нужно для запуска тестов. К сожалению, в старой версии происходили ситуации, когда задачи, сгенерированные по умолчанию, конфликтовали с задачами, указанными пользователем в файле конфигурации.
Для того, чтобы в дальнейшем избежать подобных конфликтов, все настройки связанные с базами данных, которые раньше были в ключе 'before_script', теперь должны быть в отдельном ключе — 'database'.
# было
before_script:
- rake db:create
- rake db:migrate
# стало
database:
- rake db:create
- rake db:migrate
Использование отдельного ключа для баз данных делает конфигурацию проще и понятнее.
CCMenu — это популярное приложение, которые выводит статусы билдов в toolbar и позволяет быть всегда в курсе происходящего на CI сервере. Теперь проекты из VexorCI можно легко добавить в ССMenu.
Перейти страницу «Settings» проекта и скопировать «CCMenu URL».

Вставить url в поле Feed url

Работает!
Теперь отслеживать статусы билдов стало еще удобнее.
Кстати, у нас есть еще одна отличная новость: 100 минут тестов каждый месяц стали бесплатными. Присоединяйтесь! [1]
Автор: dmexe
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ruby/76181
Ссылки в тексте:
[1] VexorCI: https://vexor.io/
[2] тут: https://gist.github.com/dima-exe/7febc69f62bb0ccc6abe
[3] CCMenu: http://ccmenu.org/
[4] Источник: http://habrahabr.ru/post/244829/
Нажмите здесь для печати.