2012-05-07 18 views
6

Próbuję użyć capistrano, aby utworzyć mój gemset rvm.w jaki sposób mogę uczynić z rvm tworzenie mojego zestawu gemsetów podczas wdrażania capistrano?

Używam klejnotu rvm-capistrano.

Nawet ja wyraźnie starają się stworzyć go w konfiguracji komenda capistrano powłoki wygląda następująco:

rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '[email protected]' -c 'rvm use [email protected] --create' 

co oczywiście kończy się niepowodzeniem z komunikatem o błędzie:

Gemset 'vatax' does not exist, 'rvm gemset create vatax' first, or append '--create' 

W rzeczywistości spodziewałem gem do być w stanie stworzyć dla mnie gemset, ale jeśli nie przynajmniej chciałbym użyć powłoki innej niż rvm, aby stworzyć gemset w capistrano.

Odpowiedz

5

To nie jest jeszcze obsługiwana w klejnot, jest bilet, aby dodać wsparcie dla niego - https://github.com/wayneeseguin/rvm-capistrano/issues/8

Teraz można użyć zadania, które instaluje rubin, ale również dba o tworzenie gemset, gdy Ruby już zainstalowany będzie po prostu stworzyć gemset:

before 'deploy', 'rvm:install_ruby' 

Więcej informacji można znaleźć w docs RVM: https://rvm.io/integration/capistrano/

+1

Cóż, miałem tę linię w moim wdrożeniu rb, ale nie utworzyłem zestawu gemset podczas używania deploy: cold. Jeśli mówię przed "wdrożyć: aktualizacja", działa na obu wdrożyć: zimny i wdrożyć. –

0

zwykle stworzyć gemset dla każdej aplikacji wdrożyć, więc trzeba utworzyć wiele gemsets. Oto, jak to zrobić:

set :application, 'my-application-name' 
set :user, 'my-username' 
run "~#{user}/.rvm/bin/rvm gemset create #{application}"