2013-06-15 30 views
10

için bir giriş kabuğu için varsayılan. Varsayılan olarak, Jenkins Ubuntu'da tire/bin/sh kullanır. Bunun için nasıl benim Jenkins işlerin içinden farklı yakut versiyonlarını seçmek için (ya da bu konuda rbenv/chruby) RVM kullanmak istiyorum Jenkins kabuk yürütme

her yerde işlevini yürütmek her kabuğun üstüne

#!/bin/bash -l 

ekleyebilir, değiştirmek için. Çok sinir bozucu bir iş olarak görülmesi, merkezi bir yere ayarlayabilmeyi isterim. "Kabuk yürütülebilir" yapılandırma ayarını kullanarak

, ben ancak "/ bin/bash -l" -xe/tmp

başarısız olur '-l' gibi parametreleri ekleyerek, bu bash çalıştırmak için alabilirsiniz /hudson5660076222778817826.sh FATAL: komut yürütme başarısız oldu java.io.IOException: Program çalıştırılamıyor "/ bin/bash -l" (dizin "/ home/jenkins/jobs/workspace/rvm-test"): error = 2, böyle bir dosya veya dizini

rvm eklentisini kullanmayı denedim jenkins için, ancak mevcut sürüm sürümüne bile yüklenmiyor.

Herhangi bir fikrin var mı? :)

cevap

11
  1. Sen bash etrafında sarıcı oluşturarak geçici bir çözüm olabilir:

    #!/bin/sh 
    # for ex.: /usr/local/bin/login-bash 
    exec /bin/bash -l "[email protected]" 
    
  2. sadece RVM ile gelir rvm-kabuk, kullandığınız varsayılan yakut kullanmak istiyorsanız. Jenkins kullanıcı ve türü olarak Girişi:

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

rvm-kabuğun yolunu almak için. "Shell yürütülebilir" seçeneği için bu yolu kullanın.

+0

Hayatımı kurtardın. – Snowman