以下是3服务器部署的示例输出:
00:06 git:clone
The repository mirror is at /home/production/site/repo
The repository mirror is at /home/production/site/repo
The repository mirror is at /home/production/site/repo
输出中的所有行都搞砸了,我们不知道它们在哪些服务器上执行。
如何将其格式化为:
00:06 git:clone
production@server1: The repository mirror is at /home/production/site/repo
production@server2: The repository mirror is at /home/production/site/repo
production@server3: The repository mirror is at /home/production/site/repo
答案 0 :(得分:3)
Capistrano的默认输出是根据Airbrussh gem格式化的,目的是使输出简洁。
如果您想要更详细的输出,请尝试使用pretty
格式化程序,将以下行添加到deploy.rb
:
set :format, :pretty
该格式化程序将为每行输出添加一个每个服务器唯一的ID。
答案 1 :(得分:1)
在capistrano gem文件夹中搜索lib / capistrano / tasks / git.rake文件。它有这样的方法
desc 'Clone the repo to the cache'
task clone: :'git:wrapper' do
on release_roles :all do
if strategy.test
info t(:mirror_exists, at: repo_path)
else
within deploy_path do
with fetch(:git_environmental_variables) do
strategy.clone
end
end
end
end
end
修改
info t(:mirror_exists, at: repo_path)
如你所愿。 我不知道服务器名称变量在哪里。但你现在正在以正确的方式。