2012-05-07 10 views
6

Sto cercando di usare capistrano per creare il mio rvm gemset.Come posso fare in modo che rvm crei il mio gemset su capistrano deploy?

Io uso la gemma rvm-capistrano.

Anche io esplicitamente cerco di crearlo al momento della configurazione, comando di shell Capistrano assomiglia a questo:

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

che non riesce ovviamente con il messaggio di errore:

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

In realtà mi aspettavo la gemma per essere in grado di creare il gemset per me, ma se almeno non mi piacerebbe usare una shell non-rvm per creare il gemset all'interno di capistrano.

risposta

5

Questo non è ancora supportato nella gemma, c'è un biglietto per aggiungere il supporto per esso - https://github.com/wayneeseguin/rvm-capistrano/issues/8

Per ora è possibile utilizzare un compito che installa rubino, ma si occupa anche di creare GemSET, quando rubino è già installato sarà solo creare il GemSET:

before 'deploy', 'rvm:install_ruby' 

Maggiori informazioni si possono trovare nella documentazione RVM: https://rvm.io/integration/capistrano/

+1

beh, ho avuto questa riga nel mio deploy rb ancora non ha creato il gemset quando si utilizza deploy: cold. Se dico prima di 'deploy: update', funziona sia per la distribuzione: cold e deploy. –

0

Io di solito creare un GemSET per ogni applicazione schiero, quindi ho bisogno di creare più gemsets. Questo è il modo in cui lo faccio:

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