如果我有这样的东西:
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
仍然适用于所有服务器?还是这是全有还是全无的情况?
答案 0 :(得分:0)
您可能可以为这些服务器定义其他角色
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,也许还有更好的方法。但是要知道-我们需要了解上下文,这是两台服务器之间特定文件的区别。