如何在不更改部署主机 [Deployer] 的情况下在另一台主机上执行任务?
How to execute a task on another host without changing the deploy host [Deployer]?
我想编写一个连接到第二台主机的脚本以在那里执行命令。
with dep deploy stage
它也应该在 host: live 上执行任务
它连接到主机:live
生成数据库转储
并下载到部署计算机
它连接到主机:stage
上传 db-dump
并将其整合到那里
mysql-dump end mysl-import 的基本部分我知道,但是如何在另一台主机上执行任务?
谢谢指点!
在每个任务中,您可以 运行 "on" 函数。为此,您可以提供主机(在您的示例中,在 "live" 任务期间,您将提供 "stage"):
on(host('stage'), function () {
// do something
});
如果您需要提供一些变量(例如动态创建的文件名),您可以像 use
一样将它们交给新函数。因此,如果您的任务将转储保存到文件名 $mysqlDumpFilename,例如:
on(host('stage'), function () use ($mysqlDumpFilename) {
// do something
});
我想编写一个连接到第二台主机的脚本以在那里执行命令。
with dep deploy stage
它也应该在 host: live 上执行任务
它连接到主机:live
生成数据库转储
并下载到部署计算机
它连接到主机:stage
上传 db-dump
并将其整合到那里
mysql-dump end mysl-import 的基本部分我知道,但是如何在另一台主机上执行任务?
谢谢指点!
在每个任务中,您可以 运行 "on" 函数。为此,您可以提供主机(在您的示例中,在 "live" 任务期间,您将提供 "stage"):
on(host('stage'), function () {
// do something
});
如果您需要提供一些变量(例如动态创建的文件名),您可以像 use
一样将它们交给新函数。因此,如果您的任务将转储保存到文件名 $mysqlDumpFilename,例如:
on(host('stage'), function () use ($mysqlDumpFilename) {
// do something
});