
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'