3

我正在使用cruisecontrol.rb进行持续集成,并在cruise_config.rb中具有以下设置。使用build_command和CruiseControl.rb

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

我试过按照这个blog post

但是,我无法获取'my_build_script.sh'来运行。它通过运行“捆绑安装”启动。有任何想法吗?

+0

我很困惑 - 您是否仍然有问题,或者您满足于根据您的更新评论上述代码是否满意? – mwolfetech

回答

1

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

查看feature announcement

这是一个耻辱,默认是真实的,使得bundle install行为与rvm gemsets奇怪。他们应该选择使用功能而不是自动功能,看到很多人使用rvm gemsets。

显然巡航将使用相同的GEM_HOME作为父邮轮进程正在使用。如果您在Phusion Passenger下运行巡航,它将使用安装乘客宝石的GEM_HOME(我不确定这是否仍然是乘客4的问题)。

2

在应用程序/模型/ build.rb cruisecontrol.rb:42

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

这是硬编码,如果它检测到的Gemfile先运行打捆,我评论了这一点,在RVM后手动做到了gemset被设置并且工作。

这里是分支版本(块状UI的改变虽然)https://github.com/timoxley/cruisecontrol.rb

+0

男人,非常感谢,您节省了我的一天;) –

+0

Cruise允许您通过'project.use_bundler = false'禁用自动'bundle install'。参见[原始公告](http://comments.gmane.org/gmane.comp.lang.ruby.cruise-control.devel/288) – Kelvin