Как настроить среду CI, используя jenkins, rvm и cucumber - PullRequest
2 голосов
/ 15 июля 2011

Я новичок в CI и хотел бы, чтобы ваши мысли и отзывы о том, как решить мою проблему.Я хотел бы начать с того, что я боролся с этим в течение 2 дней (и у меня нет большого опыта в sys ad), поэтому, пожалуйста, играйте хорошо (я в основном разработчик веб-интерфейса):)

В основном мой план состоял в том, чтобы установить jenkins, а затем сделать CI env, выполнив следующие шаги:

  1. опрос для любых изменений в github
  2. , если они есть, запустите скрипт сборки: а.перенести разработку и тестирование базы данных? (означает ли это, что я должен поместить config / database.yml в мое хранилище?) b.запустить огурец c.если все тесты пройдены, переходите к 3, в противном случае
  3. запустите любую установку rake
  4. запустите сервер (разверните)

Я выполнил некоторые вещи с помощьючитерство:

  1. в моем регионе, я переключаю свой rvm на нужный мне (rvm использует 1.8.7-p174@mygemset)
  2. run jenkins (java -jar jenkins.war) так что он получает RVM ruby ​​по умолчанию
  3. запускает spork в отдельном терминале (потому что по каким-то причинам мои огурцы не работают без spork - это еще одна проблема)
  4. построить проектвручную, нажав Build

, поэтому я хочу автоматизировать эти вещи.Может быть, мне нужен набор шагов (общих или конкретных, в зависимости от вашего вкуса), чтобы я мог настроить и запустить свой CI.

Имейте в виду, что мои "читы" не будут работать какЯ хочу протестировать разные проекты с разными настройками, а чит при запуске просто не подойдет.В настоящее время мой проект был успешным, потому что все, что я делал, это запускал огурец (и все мои тесты проходили).Я хочу, чтобы он был в состоянии развернуть после того, как он пройдет, так что, возможно, некоторая помощь там тоже?Спасибо

1 Ответ

4 голосов
/ 16 июля 2011

Хорошо, я постараюсь помочь вам как можно лучше.

  1. опрос на предмет любых изменений в github

Это можно легко сделать с помощью плагина Github, расположенного здесь

  1. если есть, запустите скрипт сборки: a.перенести разработку и тестирование базы данных? (означает ли это, что я должен поместить config / database.yml в мое хранилище?) b.запустить огурец c.если все тесты пройдены, переходите к 3, в противном случае вы не сможете выполнить

Затем все, что вам нужно, это запустить скрипт сборки, который вы настроили в сборке из

Выбрать«Добавить шаг сборки» -> «Выполнить оболочку».

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

Затем вы запускаете свои тесты, если они терпят неудачу, сборка должна завершиться неудачей, независимо от того, здесь - некоторая информация о запуске ruby ​​на тестах rails.если вам нужно вручную завершить сборку сценария на основе результата, обычно выход из сценария с ненулевым значением приведет к сбою сборки.Если не продолжить, запустите ваши сценарии граблей и развертывания.

Просто несколько заметок о Дженкинсе, он не сделает все за вас, но если вы можете сделать это вручную, Дженкинс может автоматизировать это.Итак, все, что вы настроили, запустив вручную, потратив немного усилий, вы можете настроить и запустить автоматически с Jenkins

Здесь - это еще один ответ, который вам может пригодиться в вашей общей настройке и идеологии, стоящей за Jenkins..

Удачи!

...