TL; DR Wie kann ich ein Ruby-Juwel auf Travis für ein nicht-Ruby-Projekt (meistens Python) installieren, so dass ich die ausführbare Datei verwenden kann bietet als Teil des Build-Systems.Installiere ein Juwel, um es als Werkzeug beim Erstellen eines Python-Projekts auf Travis zu verwenden
Ich versuche, ein Ruby-Juwel für den Aufbau einiger Extras in meinem python project, Post-Test und vor der Bereitstellung zu installieren. Insbesondere möchte ich github-changelog-generator verwenden, um das Änderungsprotokoll für mich automatisch zu generieren.
Es scheint, dass ich nicht zu root installieren kann, da die neuen containerisierten Builds auf Travis sudo
nicht zulassen.
Ich habe versucht, mit gem install --user-install github_changelog_generator
installieren. Zu Beginn gab es nur command not found
Fehler beim Ausführen github_changelog_generator
.
Versuch export PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
vor dem Ausführen github_changelog_generator
Ergebnisse in der folgenden:
/home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:315:in `to_specs': Could not find 'github_changelog_generator' (>= 0) among 14 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/home/travis/.rvm/gems/ruby-1.9.3-p551:/home/travis/.rvm/gems/[email protected]', execute `gem env` for more information
from /home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:324:in `to_spec'
from /home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /home/travis/.gem/ruby/1.9.1/bin/github_changelog_generator:22:in `<main>'
from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval'
from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `<main>'
die mir vorschlagen würde es eine Art hat es sich nicht, aber nicht ganz etwas verstehen.
Ich habe keinen Zweifel, das ist offensichtlich für jemanden mit mehr Erfahrung mit Ruby als ich habe.
Der aktuelle travis yaml Schnipsel ist wie folgt:
after_success:
- gem install --user-install github_changelog_generator
- export PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
- github_changelog_generator -u pyFFTW -p pyFFTW
Ja, 'Sprache: python' und' sudo: false' sind gesetzt. Ich werde mir die anderen Ausgaben ansehen. Vielen Dank! –
Ok, danke für deine Hilfe. Die Lösung bestand darin, das relevante 'rvm' zu aktivieren, was so einfach war wie' rvm default' und dann das Argument '--user-install' zu entfernen. Also: 'rvm default' gefolgt von' gem install github_changelog_generator'. Es wäre großartig, wenn Sie das für Sie ergänzen könnten, um die Vollständigkeit zu überprüfen, und ich werde es als korrekt markieren. –