如何在不更改部署主机[Deployer]的情况下在其他主机上执行任务?

问题描述 投票:0回答:1

我想写一个连接到第二个主机的脚本来执行那里的命令。

dep deploy stage它应该在主机上执行任务:活着

  1. 它连接到主机:直播 进行db-dump 和下载是部署计算机
  2. 它连接到host:stage 上传db-dump 并将其集成在那里

我知道mysql-dump的基本部分是mysl-import,但是如何在另一台主机上执行任务呢?

谢谢你指出了正确的方向!

php hosts php-deployer
1个回答
1
投票

在每个任务中,您可以运行“on”功能。为此,您可以提供一个主机(在您的“实时”任务期间,您将提供“舞台”):

        on(host('stage'), function () {
            // do something
        });

如果您需要提供一些变量(例如动态创建的文件名),您可以像use一样将它们交给新函数。因此,如果您的任务将转储保存到文件名$ mysqlDumpFilename,例如:

        on(host('stage'), function () use ($mysqlDumpFilename) {
            // do something
        });

文件:https://deployer.org/docs/api#on

© www.soinside.com 2019 - 2024. All rights reserved.