在TeamCity中打包安装

我试图在TeamCity中运行一个构build。 我想为unit testing构build的应用程序是用Ruby on Rails编码的。

我configuration了VCS根目录,以便在克隆构build失败后从我的存储库中获取。 这里是:

Bundler::GemNotFound: Could not find gem 'devise (= 2.1.0) ruby' in the gems available on this machine. Stacktrace: /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:346:in `block in resolve_requirement' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:344:in `catch' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:344:in `resolve_requirement' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:295:in `block in resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:294:in `reverse_each' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:294:in `resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:161:in `start' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:128:in `block in resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:127:in `catch' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:127:in `resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:192:in `resolve' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:127:in `specs' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:172:in `specs_for' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:161:in `requested_specs' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/environment.rb:23:in `requested_specs' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:11:in `setup' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler.rb:107:in `setup' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/setup.rb:17:in `<top (required)>' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' /root/TeamCity/buildAgent/work/a85b8d8560bb396b/config/boot.rb:10:in `<top (required)>' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /root/TeamCity/buildAgent/work/a85b8d8560bb396b/config/application.rb:1:in `<top (required)>' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /root/TeamCity/buildAgent/work/a85b8d8560bb396b/Rakefile:5:in `<top (required)>' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile' /root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:314:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run' /root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:314:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' /root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:179:in `run' /root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rakerunner.rb:40:in `<main>' Source: /root/TeamCity/buildAgent/work/a85b8d8560bb396b/Rakefile:5:in `<top (required)>' 

看起来,它需要首先运行bundle install,但是如何在configuration中在TeamCity上执行此操作?

“configuration步骤3” – >“构build步骤”的构buildconfiguration设置下,添加一个调用软件包安装“命令行”步骤作为第一步。

不要忘记通过添加“Build feature”并select“Ruby environment configurator”来设置Ruby环境(如上面的“configuration步骤3” – >“构build步骤” )。 然后你可以select你的rvm ruby​​版本和gemset。 看着你的堆栈跟踪,这将是ruby-1.9.2-p320作为解释器的名字和全局的gemset。