2017-01-13 3 views
1

Ont la situation suivante:Jenkins en utilisant une mauvaise version de Ruby (RVM)

  • Utilisation jenkins
  • RVM Installé avec différentes versions de rubis (2+)
  • Installée rvm plugin

option Activé "Exécuter la construction dans un environnement géré RVM" dans "Build Environnement" avec la version de ruby ​​[email protected]

Maintenant à propos du problème. Après chaque démarrage de travail jenkins, je peux voir la sortie suivante:

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 
... 

Et semble que tout devrait bien fonctionner. Mais en fait jenkins utiliser ruby-2.2.0 parce que ci-dessous dans le journal que je trouve ceci:

+++ __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] ]] 
... 

Et autre problème qui vient d'ici:

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

Aussi, si je tape la commande ruby -v dans la zone « Exécuter shell » - puis dans le journal, je vois ce

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

J'ai aussi essayé de commencer commande rvm use ruby-2.3.0 directement dans « Exécuter shell ».

Aussi j'ajouté ceci dans /var/lib/jenkis/.bashrc:

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

et a essayé de changer $HOME/.rvm-/usr/local/rvm

Mais à chaque fois le même résultat. Jenkins n'utilise pas ruby-2.3.0

Aidez-moi à comprendre ce que j'ai manqué?

Répondre

1

J'ai également rencontré ce problème. Il s'est avéré qu'il y a un problème si vous installez rvm en tant que root. Nous avons dû désinstaller complètement rvm et réinstaller en tant qu'utilisateur jenkins, après quoi le plugin a correctement chargé les rubis.

Vous pouvez détecter ce problème en répertoriant le contenu du répertoire pointé par la variable $ HOME de Jenkins. S'il n'y a pas de répertoire .rvm, vous devrez peut-être réinstaller.