rails nomina jamon california app capistrano

nomina - capistrano rails



Establecer variable personalizada en capistrano 3 (2)

Estaba usando capistrano 2 con mi proyecto php, donde solía definir variables personalizadas como esta:

set :app_environment, "test"

Y luego accedí a él en mis tareas de implementación, por ejemplo:

run "echo ''#{app_environment}'' > #{releases_path}/#{release_name}/protected/config/mode.php"

Ahora en capistrano 3 defino esta variable en mis archivos de configuración específicos de la etapa. Pero no los tengo definidos en mis tareas:

undefined local variable or method `app_environment'' for #<SSHKit::Backend::Netssh:0x007f92323d6988> config/deploy.rb:28:in `block (3 levels) in <top (required)>''

Desafortunadamente, no hay mucha documentación sobre la versión más reciente de capistrano y no estoy muy familiarizado con el rubí, así que no veo la forma de hacerlo correctamente.


El código debe leer:

run "echo ''#{fetch(:app_environment)}'' > #{releases_path}/#{fetch(:release_name)}/protected/config/mode.php"

Aunque incluso eso es incorrecto ya que run() no existe en Cap3, ahora es execute() , así que:

execute "echo ''#{fetch(:app_environment)}'' > #{releases_path}/#{fetch(:release_name)}/protected/config/mode.php"

Tenga cuidado al construir su comando de esta manera, nada usará el mapa de comandos, ni respetará las construcciones within() , as() o with() .


Esto ahora se logra a través de ''fetch'':

fetch(:app_environment)