当使用Laravel特使部署到多个服务器时,如何指定每个服务器的项目根?文档中提供的示例假定两台服务器的项目根目录相同。

假设web-1的项目根目录为/var/html/www,web-2的项目根目录为/var/foo/bar。如何在运行时访问不同服务器的项目根?
发布于 2021-07-20 08:40:24
有不同的方式来使用Laravel特使来实现您想要实现的目标。例如,根据您的描述,在运行envoy run deploy之后,以下内容将在您的Envoy.blade.php文件中工作。
@servers(['web-1' => '127.0.0.1', 'web-2' => '127.0.0.1'])
@setup
function logMessage($message) {
return "echo '\033[32m" .$message. "\033[0m';\n";
}
@endsetup
@story('deploy')
deploy-web-1
deploy-web-2
@endstory
@task('deploy-web-1', ['on' => ['web-1']])
cd /Users/Shared
{{ logMessage('? Task complete for web-1') }}
@endtask
@task('deploy-web-2', ['on' => ['web-2']])
cd /Users/khill
{{ logMessage('? Task complete for web-2') }}
@endtask发布于 2021-07-15 13:27:23
你一定要试试这个
$webServerIps = [
'web-1' => 'xxx.xxx.xxx.xxx',
'web-2' => 'xxx.xxx.xxx.xxx',
];
@servers(array_merge($webServerIps, ['persistent' => 'xxx.xxx.xxx.xxx', 'worker'
=> 'xxx.xxx.xxx.xxx', 'local' => '127.0.0.1']))我希望你得到了你的解决方案。
你也可以通过这个link获得更多的帮助
https://stackoverflow.com/questions/68189651
复制相似问题