Wie erstelle ich in Capistrano eine .rvmrc-Datei im Ordner /current?

Wie erstelle ich in Capistrano eine .rvmrc-Datei im Ordner /current?

Während meiner Bereitstellung möchte ich während einer Capistrano-Bereitstellung eine .rvmrc-Datei im Ordner /current erstellen.

Wie kann ich das machen?

Antwort1

Sie können einer Capistrano-Bereitstellung mit der unten gezeigten Syntax Aufgaben hinzufügen:

task :gitinstall do
   run "apt-get update"
   run "apt-get -y install git-core"
end
before "deploy:update", :gitinstall

In diesem Beispiel installiert jede Maschine Git, bevor das Deployment ausgeführt wird. Sie müssen dies nur ändern, um die betreffende Datei per Wget abzurufen oder ein Bash-Echo auszuführen.

Antwort2

Ich lasse das hier als Referenz. Sollte mit neueren Versionen von rbenv oder rvm funktionieren.

namespace :deploy do
  desc 'Sets the ruby version'
  task :set_ruby_version do
    put "2.0.0-p0", "#{latest_release}/.ruby-version"
  end
end

after 'deploy:update_code', 'deploy:set_ruby_version'

oder, wenn Sie Capistrano/Bundler verwenden, benötigen Sie stattdessen diesen Hook:

before 'bundle:install', 'deploy:set_ruby_version'

verwandte Informationen