2012-04-28 20 views
8

現在、私のキュウリタスクのいくつかのためにジェンキンスビルドを実行しようとしています。私のすべての宝石は、Bundlerを使用してインストールされています。宝石は仕入先フォルダに保管されています。私がしようとすると、実行シェルビルドステップでbundle install --deploymentを実行するとJenkinsビルドバンドルを実行できません: "コマンドが見つかりません"

はしかし、私は次のエラーを取得する:

Started by user anonymous 
Building in workspace /Users/Shared/Jenkins/Home/jobs/cukes/workspace 
[workspace] $ /bin/sh -xe/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh 
+ bundle install --deployment 
/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh: line 2: bundle: command not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

これは狂気私を運転しています!ローカルマシン上で問題なく動作します。なぜジェンキンスは私の宝石を見ることができないのですか?

助けがあれば助かります。

乾杯、検証する ジョン

答えて

2

まず物事:

  • bundleはジェンキンスが実行するマシンにインストールされていることを確認します。
  • それがインストールされている場合、それはジェンキンスが

を実行するユーザーのためにパス上にあることを確認します(パス/環境を確認するには:envを実行するシェルビルドステップを挿入)

10

途中、あなたに応じて、 Jenkinsがインストールされている場合、別のユーザーとして実行されている可能性があります。ユーザーは通常jenkinsです。デフォルトのPATHにない非標準のディレクトリにbundleをインストールしている場合は、/usr/local/binのように、以下を行う必要があります。

  • ジェンキンスユーザーのPATH(〜ジェンキンス/ .bashrcのを確認してください)または
  • /usr/local/binを追加
  • Jenkinsグローバルコンフィグレーション(またはスレーブ構築の場合はスレーブコンフィグレーション)でPATH環境変数をコンフィグレーションするか、
  • フルパス名を使用してbundleを参照するようにビルドスクリプトを変更します。
+0

こんにちは、/ usr/bin/bashは/ bin/bashを追加しました。私はcentosを使用しています。 –

1

バンドルは、あなただけのように同じよう/usr/binにバンドルするシンボリックリンクを追加することができます(which bundleでこれを決定)/usr/local/bin/bundleにインストールされている場合:

ln -s /usr/local/bin/bundle /usr/bin/bundle

0

bundleがでインストールされている場合あなたが見ることができますwhich bundleを実行し、そこからbundleコマンドを実行してください。

関連する問題