Capistrano是否可以仅链接某些服务器上的文件?

如果我有这样的东西:

config / deploy / production.rb:

server myserver1 roles: %i[app web db]
server myserver2 roles: %i[app web db]
server myutilserver1 roles: %[util]

config / deploy.rb:

append :linked_files,'all_servers_file.yml'
append :linked_files,'util_server_file.yml'

是否有某种方法可以解决此问题,以使util_server_file.yml仅链接到myutilserver1上,但是all_servers_file.yml仍然适用于所有服务器?还是这是全有还是全无的情况?

wangke1836 回答:Capistrano是否可以仅链接某些服务器上的文件?

您可能可以为这些服务器定义其他角色

server myserver1 roles: %i[app web db utils_server_file]
server myserver2 roles: %i[app web db all_servers_file]

然后指定每个任务应在哪些角色上运行:

append :linked_files,'all_servers_file.yml',roles: %i[all_servers_file]
append :linked_files,'util_server_file.yml',roles: %i[utils_server_file]

尽管此解决方案似乎很hacku,也许还有更好的方法。但是要知道-我们需要了解上下文,这是两台服务器之间特定文件的区别。

本文链接:https://www.f2er.com/2795590.html

大家都在问