JenkinsとAppiumのRubyライブラリを使用してOSXでCI環境を設定しています。Jenkins、rbenv、bundler - Jenkinsとrbenvを使用している場合、rbenvプラグインはどのようにバンドルをプリインストールしますか?なぜ私の場合はそうではありませんか?
RSpecでテストスイートを起動するためにrakeタスクを使用しています。
同様の設定を使用して、別のマシンでJenkinsでテストを実行することができました。私は現在、rbenv(およびrbenvプラグイン)を使用していて、いくつかの問題があります。ここで
は私がジョブを実行しようとすると、私は何を得るのです。
$ bash -c "[ -d \$HOME/.rbenv-jenkins ]"
$ bash -c "[ -d \$HOME/.rbenv-jenkins/plugins/ruby-build ]"
$ bash -c "cd /Users/Shared/Jenkins/Home/workspace/Tests && env RBENV_ROOT\=\$HOME/.rbenv-jenkins RBENV_VERSION\=2.2.5 CONFIGURE_OPTS\= RUBY_CONFIGURE_OPTS\= \$HOME/.rbenv-jenkins/bin/rbenv local 2>/dev/null || true"
Use local Ruby version 2.2.5.
$ bash -c "mkdir \$HOME/.rbenv-jenkins/.lock"
$ bash -c "env RBENV_ROOT\=\$HOME/.rbenv-jenkins RBENV_VERSION\=2.2.5 CONFIGURE_OPTS\= RUBY_CONFIGURE_OPTS\= \$HOME/.rbenv-jenkins/bin/rbenv versions --bare"
$ bash -c "env RBENV_ROOT\=\$HOME/.rbenv-jenkins RBENV_VERSION\=2.2.5 CONFIGURE_OPTS\= RUBY_CONFIGURE_OPTS\= \$HOME/.rbenv-jenkins/bin/rbenv rehash"
$ bash -c "env RBENV_ROOT\=\$HOME/.rbenv-jenkins RBENV_VERSION\=2.2.5 CONFIGURE_OPTS\= RUBY_CONFIGURE_OPTS\= \$HOME/.rbenv-jenkins/bin/rbenv exec gem list"
$ bash -c "env RBENV_ROOT\=\$HOME/.rbenv-jenkins RBENV_VERSION\=2.2.5 CONFIGURE_OPTS\= RUBY_CONFIGURE_OPTS\= \$HOME/.rbenv-jenkins/bin/rbenv rehash"
$ bash -c "rm -rf \$HOME/.rbenv-jenkins/.lock"
[Tests] $ bundle exec rake ios
FATAL: rake execution failed
java.io.IOException: Cannot run program "bundle" (in directory "/Users/Shared/Jenkins/Home/workspace/Tests"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:240)
at hudson.Proc$LocalProc.<init>(Proc.java:212)
など
することになっている場合バンドラの幹部がされていないとの問題があるように思えます。
私はいくつかの方法でパスに export PATH="$HOME/.rbenv-jenkins/bin:$PATH"
を追加しようとしましたが、それは違いはありませんように思える - それは私がそれを実行見シェル段階だが、私は何の変更を取得していないとき。
私はrbenvプラグインでrakeとbundlerを有効にしていますが、インストールされているとは思われません。理由はわかりません。
私はJenkinsユーザーにログインしているときに、rspec
、rake
、bundle exec rake
でテストを実行できます。
何が起こっているのでしょうか?不足していることがあれば教えていただき、ありがとうございます!
編集:
+ gem install bundler
Successfully installed bundler-1.13.2
Parsing documentation for bundler-1.13.2
Done installing documentation for bundler after 4 seconds
1 gem installed
+ gem install rake
ERROR: Error installing rake:
"rake" from rake conflicts with /Users/Shared/Jenkins/.rbenv-jenkins/versions/2.2.5/bin/rake
Build step 'Execute shell' marked build as failure
Finished: FAILURE
は宝石がrake,bundler
あるプリインストール私の - だけレーキが正しくプリインストールされるように思える:私はgem install bundle
とgem install rake
シェルコマンドを追加すると
が、私は以下の取得。
rakeをインストールせずに(そして、バンドルインストール後にrbenv rehashで)ジョブを実行すると、同じエラーが発生します。