3

我正在使用 Cruisecontrol.rb 进行持续集成,并在 Cruise_config.rb 中有以下设置。

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

我试图关注这篇博文

但是,我无法运行“my_build_script.sh”。它通过运行“捆绑安装”开始。有任何想法吗?

4

2 回答 2

2

在 app/models/build.rb:42 中的 Cruisecontrol.rb 中

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

如果它检测到 Gemfile,则首先运行 bundler 是硬编码的,我将其注释掉并在设置 rvm gemset 并且它工作后手动执行它。

这是一个分叉版本(尽管有大量的 ui 更改)https://github.com/timoxley/cruisecontrol.rb

于 2011-09-18T23:47:01.323 回答
1

Cruise 允许您禁用自动bundle install,通过project.use_bundler = false

请参阅功能公告

遗憾的是,默认值为 true,使得bundle installrvm gemset 的行为异常。他们应该选择启用该功能而不是自动启用该功能,因为很多人都使用 rvm gemsets。

显然 Cruise 将使用与GEM_HOME父 Cruise 进程使用的相同。如果您在 Phusion Passenger 下运行巡航,它将使用GEM_HOME安装乘客 gem 的位置(我不确定这是否仍然是乘客 4 的问题)。

于 2013-09-06T21:30:02.590 回答