2

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

截屏

假设web-1项目根为/var/html/www并且web-2项目根为/var/foo/bar. 如何在运行时访问不同服务器的项目根目录?

4

2 回答 2

-1

有多种方法可以使用 Laravel Envoy 来实现您想要实现的目标。例如,根据您的描述,运行envoy run deploy.

@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-20T00:40:23.967 回答
-2

你必须试试这个

$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']))

我希望你得到你的解决方案。

您也可以点击此链接获取更多帮助

于 2021-07-15T05:27:22.803 回答