Ruby on rails 如何在Cloudbees上建立Rails?

Ruby on rails 如何在Cloudbees上建立Rails?,ruby-on-rails,ruby-on-rails-3.2,jenkins,continuous-integration,cloudbees,Ruby On Rails,Ruby On Rails 3.2,Jenkins,Continuous Integration,Cloudbees,我正试图在Cloudbees上设置Rails作业,但我遇到了无法解决的问题。我试着按照指示去做,但没有找到足够的细节来找出问题所在 这就是我的作业的Shell执行部分当前的样子: curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby RUBY_VERSION=1.9.3-p327 source ./use-ruby bundle inst

我正试图在Cloudbees上设置Rails作业,但我遇到了无法解决的问题。我试着按照指示去做,但没有找到足够的细节来找出问题所在

这就是我的作业的Shell执行部分当前的样子:

curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby
RUBY_VERSION=1.9.3-p327 source ./use-ruby
bundle install --path vendor/bundle
bundle exec rake db:test:create
bundle exec rake test
实际上,我还不确定最后2行是什么,因为我从来没有超过第3行。)

运行此操作时,我得到以下结果:

(...)
Commencing build of Revision 2e1549004e2b49903d4d006ad8bfa7e4b4bfda08 (origin/master)
Checking out Revision 2e1549004e2b49903d4d006ad8bfa7e4b4bfda08 (origin/master)
[API Continuous Testing] $ /bin/sh -xe /tmp/hudson4854632522106638677.sh
+ curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby
+ RUBY_VERSION=1.9.3-p327
+ source ./use-ruby
++ [[ -z 1.9.3-p327 ]]
++ ruby187='1.8.7-*'
++ [[ 1.9.3-p327 == 1.8.7-* ]]
++ '[' '!' -f /scratch/jenkins/use.sh ']'
++ . /scratch/jenkins/use.sh
++ mkdir -p /scratch/jenkins/ruby
+++ addon_architecture
+++ uname -m
++ ruby_name=ruby-1.9.3-p327-x86_64
++ '[' '!' -f /scratch/jenkins/ruby/ruby-1.9.3-p327-x86_64.tar.bz2 ']'
++ '[' '!' -f /scratch/jenkins/ruby/ruby-1.9.3-p327-x86_64/bin/ruby ']'
++ export PATH=/scratch/jenkins/ruby/ruby-1.9.3-p327-x86_64/bin:/opt/jdk/jdk1.6.latest/bin:/opt/jdk/latest/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/opt/maven/latest/bin:/opt/ant/latest/bin:/opt/android/android-sdk-linux/tools:/opt/gradle/latest/bin:/home/jenkins/bin:/opt/jdk/jdk.latest/bin
++ PATH=/scratch/jenkins/ruby/ruby-1.9.3-p327-x86_64/bin:/opt/jdk/jdk1.6.latest/bin:/opt/jdk/latest/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/opt/maven/latest/bin:/opt/ant/latest/bin:/opt/android/android-sdk-linux/tools:/opt/gradle/latest/bin:/home/jenkins/bin:/opt/jdk/jdk.latest/bin
++ unset GEM_PATH
++ unset GEM_HOME
++ unset BUNDLE_PATH
+ bundle install --path vendor/bundle
/tmp/hudson4854632522106638677.sh: line 5: bundle: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我假设在Cloudbees安装程序完成后,“bundle”将可供我执行。这不对吗?还是我遗漏了什么?

我认为您可能需要安装bundler,就像它是一个“正常”的ruby安装一样:

gem install bundler
作为第一件事(因为它不是ruby自带的)


(虽然我知道为什么“使用ruby”脚本可以做到这一点,但我会看看它是否可以做到)

默认情况下不包括Bundler,因为有很多版本(有些人更喜欢更新/旧/预发布版本)

关于以下bcrypt问题,它是由作业名称中的空格引起的。我已经重新命名了有问题的工作,现在它通过了

我还添加了PostgreSQL安装程序,因此您的完整安装现在已成功完成


有关PostgreSQL配置(准备用户和数据库)的更多信息,请参阅。

Oho,现在它起作用了,让我更进一步。现在有一个Gem安装失败:“安装bcrypt-ruby(3.0.1)Gem::Installer::ExtensionBuildError:错误:无法构建Gem本机扩展。”这导致构建进一步失败。对此有什么想法吗?据Google和StackOverflow称,其中一个主要原因是没有安装Ruby“Dev”软件包。我试图按照“apt get install ruby1.9.1-dev”或修改Cloudbees Ruby发行版的名称来进行一些组合,但都没有成功。有什么提示吗?太棒了,非常感谢大家,帮了大忙!:)看起来我仍然需要解决一些问题,以便让它运行起来并为自己带来价值(包括我自己的一些学习),但我会接受你的回答,因为这似乎解决了我最初处理的问题:)