2017-02-06 2 views
1

Ich arbeite an einem Edelstein (atd) und ich habe versucht, gitlab CI zu bekommen, um meine Tests auf allen Versionen von Ruby meine Edelstein unterstützt (2.2.2 - 2.4.0) einschließlich laufen zu lassen Bugfix-Versionen. Ich hatte an issue (GitLab CI pipline link, see versions > 2.3.0) mit dem rainbow Edelstein nicht mit Versionen von Rubygems älter als 2.6.9 (aktuelle rubygems Version ist 2.6.10), so in meinem gitlab ci Builds (im Grunde Docker Container) Ich habe versucht, gem update --system vor bundle install laufen, und das bekam Befreien Sie den Regenbogenfehler, aber ich habe den folgenden Fehler erhalten, wenn Sie gem update --system nur auf Ruby-Versionen 2.2.4 und 2.3.0 laufen lassen, das ist komisch, weil es zwei Versionen zwischen diesen zwei, 2.2.5 und 2.2.6 gibt:Rubygems Update scheitert an seltsamen Ruby-Versionen

Quelle: My GitLab CI pipeline

Running with gitlab-ci-multi-runner 1.10.4 (b32125f) 
Using Docker executor with image ruby:2.2.4 ... 
Pulling docker image ruby:2.2.4 ... 
Running on runner-fa6cab46-project-1684988-concurrent-0 via runner-fa6cab46-machine-1486422765-ae1c6a3c-gce... 
Cloning repository... 
Cloning into '/builds/izwick-schachter/atd'... 
Checking out ebe7405a as development... 
Skipping Git submodules setup 
$ ruby -v 
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux] 
$ which ruby 
/usr/local/bin/ruby 
$ gem install rubygems-update 
Successfully installed rubygems-update-2.6.10 
1 gem installed 
$ gem update --system 
ERROR: While executing gem ... (Errno::ENOENT) 
    No such file or directory @ dir_chdir - /usr/local/bundle/gems/rubygems-update-2.6.3 
Updating rubygems-update 
Successfully installed rubygems-update-2.6.10 
ERROR: Build failed: exit code 1 

denke ich, es hat etwas mit der rubygems Version zu tun haben könnte, bevor die UPG Rade, aber ich bin mir nicht sicher. Ich weiß, dass es von Rubygems 2.6.3 zu 2.6.10 für Ruby 2.2.4 und 2.3.0 nicht geht.

Hier ist eine Tabelle von Pässen und Ausfälle:

ruby -v | initial gem -v | ci pass/fail 
======================================= 
2.2.2 | 2.4.8   | pass 
2.2.3 | 2.5.0   | pass 
2.2.4 | 2.6.3   | fail 
2.2.5 | 2.6.8   | pass 
2.2.6 | 2.6.10   | pass 
2.3.0 | 2.6.3   | fail 
2.3.1 | 2.6.8   | pass 
2.3.2 | 2.6.8   | pass 
2.3.3 | 2.6.10   | pass 
2.4.0 | 2.6.10   | pass 

Antwort

0

gem update --system den Wunsch nach einem Update zu 2.6.3 sättigen Sie gem install rubygems-update --version 2.6.3 können zu existieren laufen, die den Code auf 2.6.3 zu aktualisieren installiert, Sie dann kann es zwingen, auf die richtige Version zu aktualisieren, indem Sie es an gem update --system 2.6.10 (2.6.10 ist die aktuelle rubygems-Version zum Zeitpunkt des Schreibens).