如何为每个 Capistrano 角色使用不同的“default_env”
How to use a different `default_env` per Capistrano role
在我的 deploy.rb 中,我有:
set :default_env, -> { {
PATH: "some/path/to/stuff"
} }
我也有两台服务器:
server 'hostname1', roles: %{web app}, primary: true
server 'hostname2', roles: %{db}, no_release: true
对于在主机名 2 上 运行 的命令,我想使用不同的 default_env
,这可能吗?
task :my_task do
on roles :db do
# do work
end
end
没有一种方法可以直接使用不同的 default_env
,但您可以重写它的 key-value 对。
你应该这样试试:
task :my_task do
on roles :db do
with PATH: "/var/www/subdirectory" do
# do work
end
end
end
你可以创建一个 rake 来根据环境设置不同的路径,然后 运行 使用默认环境作为参数的 rake
任务:设置,:角色=>:数据库做
运行"rake developer:setup default_evironment=#{rails_env}"
结束
在我的 deploy.rb 中,我有:
set :default_env, -> { {
PATH: "some/path/to/stuff"
} }
我也有两台服务器:
server 'hostname1', roles: %{web app}, primary: true
server 'hostname2', roles: %{db}, no_release: true
对于在主机名 2 上 运行 的命令,我想使用不同的 default_env
,这可能吗?
task :my_task do
on roles :db do
# do work
end
end
没有一种方法可以直接使用不同的 default_env
,但您可以重写它的 key-value 对。
你应该这样试试:
task :my_task do
on roles :db do
with PATH: "/var/www/subdirectory" do
# do work
end
end
end
你可以创建一个 rake 来根据环境设置不同的路径,然后 运行 使用默认环境作为参数的 rake
任务:设置,:角色=>:数据库做
运行"rake developer:setup default_evironment=#{rails_env}"
结束