gpt4 book ai didi

php - 火箭手。部署后如何在不同的服务器上执行命令?

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:03 24 4
gpt4 key购买 nike

我有几个服务器——后端、前端和 api。我使用 Rocketeer 在服务器上部署代码。

我为一个连接使用多个服务器:

'connections' => array(
'production' => array(
'servers' => array(
array(
'host' => 'xxx.xxx.xxx.xxx', // backend
'username' => 'admin',
'password' => 'xxxxxx',
'key' => '',
'keyphrase' => '',
),
array(
'host' => 'xxx.xxx.xxx.xxx', // api
'username' => 'admin',
'password' => 'xxxxxx',
'key' => '',
'keyphrase' => '',
),
array(
'host' => 'xxx.xxx.xxx.xxx', // frontend
'username' => 'admin',
'password' => 'xxxxxx',
'key' => '',
'keyphrase' => '',
),
),
),
).

为每个服务器执行其任务。

为了确定当前连接,我在 hooks.php 中使用了以下代码

$connection = $task->getConnection();
$server = $connection->connections->getServer();
$credentials = $connection->connections->getServerCredentials($connection->connections->getConnection(), $server);

switch($credentials['host']){
case 'xxx.xxx.xxx.xxx':
$task->runForCurrentRelease('...');
break;
}

数据按顺序上传到服务器。

部署到最后一个服务器后,我无法在以前的服务器上执行命令。

如何在部署后在不同的服务器上执行命令? (例如:重启nginx,重启memcached等)

最佳答案

我相信这就是您要找的:http://rocketeer.autopergamene.eu/#/docs/docs/II-Concepts/Events

您应该能够为每组命令创建自己的监听器。

关于php - 火箭手。部署后如何在不同的服务器上执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27336818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com