Como é que você acessar rails_env do Cap deploy de comando?
-
21-12-2019 - |
Pergunta
No deploy.rb
, Eu acredito que :rails_env
normalmente, é definido por require 'capistrano/rails'
encontrado em seu Capfile
.Eu estou usando rails, mas não usando o construído em asset pipeline e, portanto, não use capistrano/trilhos e esteve na situação de ter que definir manualmente :rails_env
no deploy.rb
ao alternar entre preparação e produção implementa.Isso parecia um pouco bobo como o meio ambiente está incluído sempre quando da execução de cap staging deploy
ou cap production deploy
.Estou postando essa pergunta, pois parece que ele poderia ser uma forma bastante comum de dor de ponto com uma solução trivial, mas depois de muita pesquisa no google, eu vim de mãos vazias.Eu, portanto, cavou o Capistrano 3.1.0
código-fonte para descobrir como acessar o palco variável digitada na linha de comandos e irá seguir com uma breve resposta que faz um pouco de explicação.
Solução
A resposta simples é adicionar a seguinte linha no topo da deploy.rb
:
conjunto :rails_env, buscar(:estágio)
A variável :stage
fica definido em capistrano/setup
o que é necessário em seu Capfile
.Este script cria rake tarefas para cada fase é definido no config/deploy
.Dentro da definição para o rake task que você vai encontrar o seguinte: set(:stage, stage.to_sym)
que é a fase/rails_env variável, a partir de sua cap staging deploy
ou cap production deploy
de comando.