é a linha Gemfile
gem 'spree', '1.2.0', :git => "https://#{ENV['GUSER']}:#{ENV['GPASS']}@bitbucket.org/constella/spree.git" , :branch => "1-2-estável"
como posso definir a variável GUSER e GPASS?
.bashrc no servidor - não
.profile no servidor - não
fila! "exportar GUSER=memo" na implantação - não
Você mudou no Gemfile:
* farra de https://:@bitbucket.org/constella/spree.git (at 1-2-stable)
a no specified source
ERRO: Falha na implantação.
Concordo, um environment_variables
deve estar disponível para fornecer variáveis compartilhadas entre comandos durante a implantação.
Talvez você possa definir a variável bundle_bin
para adicionar as variáveis de ambiente:
set :bundle_bin, 'GUSER=xxx GPASS=yyy bundle'
set :bundle_bin, 'GUSER=xxx GPASS=yyy bundle'
isso é bom!!!! Obrigado
Experimentar:
tarefa :env fazer
fila %[NAME="hello"]
fim
Em 30 de outubro de 2012, às 18h11, Simon COURTOIS [email protected]
escreveu:
Eu concordo, um ambiente_variáveis deve estar disponível para fornecer variáveis
compartilhado entre comandos durante a implantação.
—
Responda a este e-mail diretamente ou visualize-o em
Gi tHubhttps://github.com/nadarei/mina/issues/65#issuecomment -9900324.
Como dito anteriormente, isso deve funcionar:
task :env do
queue %[NAME="hello"]
end
Além disso, se você quiser colocá-lo em .bashrc
(IMHO uma ideia muito melhor!), você deve export
as variáveis:
# .bashrc
export NAME="hello"
Você acredita que ainda não existe uma opção de variável de ambiente? Deus luto! Bem, acho que podemos bifurcar essa coisa e adicionar uma opção env-var, mas até então estamos usando um grande hack.
Armazenamos nossas variáveis localmente em um arquivo .env
nas configurações, colocamos:
# Non-cowboys, don't try this in production.
set :ssh_options, %{export #{File.open(".env").readlines.map(&:chomp).join(" ")}}
Você obtém a essência e pode torná-lo bonito você mesmo. Esta é uma maneira de Heroku-tizar nossa implantação.
Feliz hack,
Melhor.
Ted
eu uso o Figaro
requer 'yaml'
set :var_from_env, -> { YAML.load_file("./config/application.yml")["ENV_VAR"] }
@rstacruz
Posso perguntar se há um doc para task :env do
? Ele não anexa a configuração ENV no comando.
Eu usei set :bundle_prefix
para conseguir isso.
@lulalala obrigado, funcionou para mim!
Eu defino bundle_prefix assim:
set :bundle_prefix, 'env $(cat .env | xargs) bundle exec '
Comentários muito úteis
@rstacruz
Posso perguntar se há um doc para
task :env do
? Ele não anexa a configuração ENV no comando.Eu usei
set :bundle_prefix
para conseguir isso.