Использование build_command с CruiseControl.rb - PullRequest
3 голосов
/ 01 сентября 2011

Я использую cruisecontrol.rb для непрерывной интеграции и имею следующие настройки в cruise_config.rb.

Project.configure do |project|
  ...
  project.build_command = 'my_build_script.sh'
  ...
end

Я пытался подписаться на это сообщение в блоге .

Однако я не могу запустить my_build_script.sh. Он запускается с помощью команды 'bundle install'. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

В cruisecontrol.rb в приложении / models / build.rb: 42

if @project.uses_bundler?
 execute self.bundle_install, :stdout => build_log_path, :stderr => build_log_path, :env => project.environment
end

Трудно сначала запустить bundler, если он обнаружит Gemfile, я закомментировал это и сделал это вручную после того, как был установлен gemset rvm, и он заработал.

Вот разветвленная версия (хотя массовые изменения в интерфейсе) https://github.com/timoxley/cruisecontrol.rb

1 голос
/ 07 сентября 2013

Круиз позволяет отключить автоматическое bundle install, через project.use_bundler = false.

См. Объявление функции .

Жаль, что по умолчанию установлено значение true, из-за чего bundle install странно ведет себя с наборами гемов rvm. Они должны были включить эту функцию вместо автоматической, поскольку многие люди используют наборы гемов rvm.

Очевидно, что в круизе будет использоваться тот же GEM_HOME, что и в родительском процессе. Если вы путешествуете в круизе под Phusion Passenger, он будет использовать GEM_HOME, где установлен пассажирский драгоценный камень (хотя я не уверен, что это все еще проблема с пассажиром 4).

...