2014-05-12 4 views
1

젠킨스는 우분투 컴퓨터에서 실행됩니다. 그것은 작업을 실행하는 데 사용되는 특별한 사용자 젠킨스가 있습니다.
RVM이 설치되어 있고 서버의 ssh 쉘에 jenkins 사용자로 로그인하면 모든 것이 정상적으로 작동합니다 (RVM이 1.9.3을 사용하도록 설정 한 경우 ruby -v은 버전으로 1.9.3을 반환합니다)
나는 RVM 젠킨스에 대한 -plugin와 RVM에 대한 젠킨스 1.9.3RVM 플러그인에도 불구하고 젠킨스가 잘못된 루비 버전을 사용합니다

출력을 사용하도록 설정 한 'RVM 사용 1.9.3' $ bash는 -c 수출
$ bash는 -c에 의해 생산
캡처 환경 변수 "test -f ~/.rvm/scripts/rvm"
$ bash -c "test -f/usr/local/rvm/scripts/rvm"
[w orkspace] $ bash는 -c "소스/usr/지방/RVM/스크립트/& & RVM 사용이 1.9.3 & & 수출을 --create --install RVM> rvm.env"
/usr/지방/RVM/보석을 사용하여 /ruby-1.9.3-p0

나중에 스크립트를 실행하려면 1.8.7 버전의 루비를 사용하십시오. 루비 버전과 환경에 대한

출력 :

+ which ruby 
    /usr/bin/ruby 
    + ruby -v 
    ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux] 
    + rvm info 

ruby-1.9.3-p0: 

    system: 
     uname:  "Linux h1332957.stratoserver.net 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 i686 GNU/Linux" 
     bash:  "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)" 
     zsh:   " => not installed" 
    rvm: 
     version: "rvm 1.9.2 by Wayne E. Seguin ([email protected] [https://rvm.beginrescueend.com/]" 
    ruby: 
     interpreter: "ruby" 
     version:  "1.8.7" 
     date:   "2010-01-10" 
     platform:  "i486-linux" 
     patchlevel: "2010-01-10 patchlevel 249" 
     full_version: "ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]" 
    homes: 
     gem:   "/usr/local/rvm/gems/ruby-1.9.3-p0" 
     ruby:   "/usr/local/rvm/rubies/ruby-1.9.3-p0" 
    binaries: 
     ruby:   "/usr/bin/ruby" 
     irb:   "/usr/bin/irb" 
     gem:   "/usr/bin/gem" 
     rake:   "/usr/bin/rake" 
    environment: 
     PATH:   "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin:/usr/local/rvm/bin" 
     GEM_HOME:  "/usr/local/rvm/gems/ruby-1.9.3-p0" 
     GEM_PATH:  "/usr/local/rvm/gems/ruby-1.9.3-p0:/usr/local/rvm/gems/[email protected]" 
     MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p0" 
     IRBRC:  "/usr/local/rvm/rubies/ruby-1.9.3-p0/.irbrc" 
     RUBYOPT:  "" 
     gemset:  "" 

질문 :
어떻게 젠킨스는 루비 버전 1.9.3를 대신 사용 할 수 있습니까?

답변

1

rvm을 소싱하여 문제를 해결했습니다.
I는 다음과 같이 내 스크립트를 업데이트 :

#!/bin/bash 
source "/usr/local/rvm/scripts/rvm" 
rvm use 1.9.3 
rvm info 

지금 RVM 정보에 의해 출력이 올바른 것입니다.
가장 중요한 것은 첫 번째와 두 번째 줄입니다. rvm info에 의해


출력 :

ruby-1.9.3-p0: 

    system: 
    uname:  "Linux h1332957.stratoserver.net 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 i686 GNU/Linux" 
    bash:  "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)" 
    zsh:   " => not installed" 

    rvm: 
    version:  "rvm 1.9.2 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]" 

    ruby: 
    interpreter: "ruby" 
    version:  "1.9.3p0" 
    date:   "2011-10-30" 
    platform:  "i686-linux" 
    patchlevel: "2011-10-30 revision 33570" 
    full_version: "ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]" 

    homes: 
    gem:   "/usr/local/rvm/gems/ruby-1.9.3-p0" 
    ruby:   "/usr/local/rvm/rubies/ruby-1.9.3-p0" 

    binaries: 
    ruby:   "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/ruby" 
    irb:   "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/irb" 
    gem:   "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/gem" 
    rake:   "/usr/local/rvm/gems/ruby-1.9.3-p0/bin/rake" 

    environment: 
    PATH:   "/usr/local/rvm/gems/ruby-1.9.3-p0/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p0/bin:/usr/local/rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" 
    GEM_HOME:  "/usr/local/rvm/gems/ruby-1.9.3-p0" 
    GEM_PATH:  "/usr/local/rvm/gems/ruby-1.9.3-p0:/usr/local/rvm/gems/[email protected]" 
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p0" 
    IRBRC:  "/usr/local/rvm/rubies/ruby-1.9.3-p0/.irbrc" 
    RUBYOPT:  "" 
    gemset:  "" 
1

RVM은 "rvm.env"라는 작업 공간에 환경 파일을 만듭니다. 추가하는 경우 :

모든 쉘 스크립트에

source rvm.env

수동 RVM을 설정하지 않고 바로 환경을 얻을 수 있습니다.

관련 문제