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

时间:2018-09-16 17:01:15

标签: php hosts php-deployer

我想编写一个连接到第二台主机的脚本,以便在那里执行命令。

使用dep deploy stage,它也应该在主机:实时上执行任务

  1. 它连接到主机:live

    进行数据库转储

    下载到部署计算机

  2. 它连接到主机:stage

    上载db-dump

    并将其集成在那里

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

感谢您指向正确的方向!

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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