2017-01-13 2 views
1

Haben nächste Situation:Jenkins mit falschen Version von Ruby (RVM)

  • Mit jenkins
  • installiert rvm mit verschiedenen Versionen von Ruby (2+)
  • Installierte rvm plugin

Option Aktiviert "Führen Sie den Build in einer RVM verwalteten Umgebung" in "Build Environment" mit ruby ​​Version [email protected]

Jetzt über Problem.

Capturing environment variables produced by 'rvm use [email protected]' 
$ bash -c export 
[workspace] $ bash -c " source /usr/local/rvm/scripts/rvm && rvm use --install --create [email protected] && export > rvm.env" 
Using /usr/local/rvm/gems/ruby-2.3.0 with gemset global 
... 

Und scheint alles sollte in Ordnung funktioniert: Nach jedem Start des jenkins Job kann ich nächste Ausgabe. Aber in der Tat jenkins verwenden ruby-2.2.0 da unten in log fand ich diese:

+++ __path_to_ruby=/usr/local/rvm/rubies/ruby-2.2.0/bin/ruby 
+++ [[ -z /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby ]] 
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby != \/\u\s\r\/\l\o\c\a\l\/\r\v\m* ]] 
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby == \/\u\s\r\/\l\o\c\a\l\/\r\v\m\/\b\i\n\/\r\u\b\y ]] 
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby == \/\u\s\r\/\l\o\c\a\l\/\r\v\m* ]] 
+++ [[ -z /usr/local/rvm/gems/ruby-2.2.0 ]] 
+++ [[ -z /usr/local/rvm/gems/ruby-2.2.0:/usr/local/rvm/gems/[email protected] ]] 
... 

Und das nächste Problem, das von hier stammt:

Gem::InstallError: activesupport requires Ruby version >= 2.2.2. 

Auch wenn ich tippe ruby -v Befehl in "Execute shell" Bereich - dann in log sehe ich diese

+ ruby -v 
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux] 

ich habe auch versucht Befehl rvm use ruby-2.3.0 direkt in "Execute Schale" zu starten.

Auch habe ich dies in /var/lib/jenkis/.bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

und versuchte $HOME/.rvm-/usr/local/rvm

Aber jedes Ergebnis das gleiche zu ändern. Jenkins nicht verwenden Rubin-2.3.0

Bitte mir helfen herauszufinden, was habe ich verpasst? Auch

Antwort

1

ich in dieses Problem lief. Es stellte sich heraus, dass ein Problem vorliegt, wenn Sie rvm als root installieren. Wir mussten rvm vollständig deinstallieren und als jenkins-Benutzer neu installieren, woraufhin das Plugin Rubins korrekt geladen hat.

Sie können dieses Problem erkennen, indem Sie den Inhalt des Verzeichnisses, die von Jenkins '$ HOME Variable wies auflistet. Wenn es kein .rvm-Verzeichnis gibt, müssen Sie möglicherweise neu installieren.

Verwandte Themen