Pular para o conteúdo

Passenger, Capistrano e environment variables

Postado em

Capistrano

Para usar env vars com Capistrano, abra o arquivo /etc/ssh/sshd_config e adicione a seguinte linha:

PermitUserEnvironment yes

Não se esqueça de reiniciar o serviço:

$ sudo service ssh restart

Agora é só coloar suas variáveis no arquivo ~/.ssh/environment do usuário deployer (sem o export antes)!

RVM

Se você usa RVM, crie o arquivo /usr/local/my_ruby_wrapper_script com o conteúdo:

#!/bin/sh
export MYSQL_WEB_PROD_DB="db"
export MYSQL_WEB_PROD_USR_NAME="usuario"
export MYSQL_WEB_PROD_USR_PASS="senha"
exec "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby" "$@"

Troque o parâmetro do exec para o caminho do seu ruby.

Dê as permissões para o arquivo:

$ sudo chmod +x /usr/local/my_ruby_wrapper_script

E troque altere a linha do nginx.conf (ou da sua config do Apache) para:

passenger_ruby /usr/local/my_ruby_wrapper_script;

Reinicie o Nginx e Passenger, e pronto!