2013-06-15 15 views
10

私のJenkinsジョブ内から別のルビーバージョンを選択するには、rvm(またはrbenv/chruby)を使いたいです。 デフォルトでは、Jenkinsは/ bin/shを使用します。これはUbuntuではダッシュです。このため Jenkinsシェル実行用のログインシェルをデフォルトに設定するには

は、私はどこでも関数を実行するすべての単一のシェルのトップへ

#!/bin/bash -l 

を追加することができ、変更される場合があります。それが厄介な作業の多くを見て、私はそれをどこかに集中させたいと思っています。 "シェル実行" 構成設定を使用して

、私はそれbashを実行するために取得することができ、 '-l' のようなパラメータは、しかし-xe/tmpの

"-l/binに/ bashの" で失敗します追加/hudson5660076222778817826.sh致命的: コマンド実行に失敗しましたjava.io.IOException:プログラム "/ bin/bash -l"(ディレクトリ の "/ home/jenkins/jobs/workspace/rvm-test")を実行できません:error = 2、いいえそのようなファイルまたは ディレクトリ

私はrvmプラグインを使ってみましたしかし、それは現在のリリースのバージョンにもインストールされません。

アイデア? :)

答えて

11
  1. あなたはbashのラッパーを作成することで回避できます。

    #!/bin/sh 
    # for ex.: /usr/local/bin/login-bash 
    exec /bin/bash -l "[email protected]" 
    
  2. をあなただけのRVMが付属していますRVM-シェルを使用して、デフォルトのルビーを使用したい場合。ジェンキンスユーザーやタイプなど ログイン:

    $ which rvm-shell 
    /home/jenkins/.rvm/bin/rvm-shell 
    

RVM-シェルのパスを取得します。 "Shell executable"オプションにはこのパスを使用します。

+0

あなたは私の人生を救った。 – Snowman

関連する問題