使用 Harbormaster 和 Drydock 配置本地构建计划
Configure a local build plan with Harbormaster and Drydock
我正在尝试使用 Harbormaster 和 Drydock 创建一个简单的构建计划:
每当提交时,应该触发构建计划 Deployment
。这可以通过 Harold.
轻松完成
构建计划 Deployment
有一些构建步骤,其中 运行 一个命令。
我知道 Drydock 和 Harbormaster 是原型,所以似乎没有太多文档。
首先我创建了构建计划并添加了两个构建步骤用于测试:
Lease Host
构建步骤,名称为 localhost
,平台为 linux
Run Command
构建步骤 php /var/www/ci/test.php
作为命令,localhost
作为主机
但是手动启动后的错误信息是:
exception 'Exception' with message 'Lease has been broken!' in /var/www/phabricator/src/applications/drydock/storage/DrydockLease.php:172
Stack trace:
#0 /var/www/phabricator/src/applications/drydock/storage/DrydockLease.php(198): DrydockLease::waitForLeases(Array)
#1 /var/www/phabricator/src/applications/harbormaster/step/HarbormasterLeaseHostBuildStepImplementation.php(32): DrydockLease->waitUntilActive()
#2 /var/www/phabricator/src/applications/harbormaster/worker/HarbormasterTargetWorker.php(52): HarbormasterLeaseHostBuildStepImplementation->execute(Object(HarbormasterBuild), Object(HarbormasterBuildTarget))
#3 /var/www/phabricator/src/infrastructure/daemon/workers/PhabricatorWorker.php(91): HarbormasterTargetWorker->doWork()
#4 /var/www/phabricator/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php(162): PhabricatorWorker->executeTask()
#5 /var/www/phabricator/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php(22): PhabricatorWorkerActiveTask->executeTask()
#6 /var/www/libphutil/src/daemon/PhutilDaemon.php(183): PhabricatorTaskmasterDaemon->run()
#7 /var/www/libphutil/scripts/daemon/exec/exec_daemon.php(125): PhutilDaemon->execute()
#8 {main}
谁能给我一些提示,告诉我如何使用 Harbormaster 和 Drydock 在本地主机上 运行 命令?
问题是我没有通过 Drydock 创建任何资源。在这里,您如何使用 Harbormaster 和 Drydock:
执行命令
- 创建一个干船坞蓝图(例如
Blueprint 4711
)。
- 为 Drydock 创建一个 SSH 私钥密码,它可用于通过 SSH 访问您的本地主机(例如
K123
).
通过 CLI 为您的本地主机创建 Drydock 资源:
./bin/drydock create-resource --blueprint 4711 --name localhost --attributes host=localhost,platform=linux,remote=true,port=22,path=/var/drydock,credential=123
创建 Harbormaster 构建计划。
- 将 构建步骤 (
Lease Host
) 添加到您的 构建计划,使用您的 Drydock 蓝图 作为 Artifact
和 linux
作为 Platform
.
- 使用您想要的命令和您的 干船坞蓝图 as
Host
.
将服务器本身用于 CD/CI 可能只是小型安装的一个选项。
您可能对我在维基教科书中发布的涵盖大部分方面的精彩指南感兴趣。如果您想了解 Almanac、Drydock 和 Harbormaster 如何相互作用:
https://en.wikibooks.org/wiki/Phabricator_Administrator%27s_Handbook/Continuous_integration
当然你会发现一些像这样的截图和漂亮的模式:
本指南以某种方式扩展了官方文档,此外,它还包括一个故障排除部分(涵盖您的确切问题!)。
好好读书!
我正在尝试使用 Harbormaster 和 Drydock 创建一个简单的构建计划:
每当提交时,应该触发构建计划
Deployment
。这可以通过 Harold. 轻松完成
构建计划
Deployment
有一些构建步骤,其中 运行 一个命令。
我知道 Drydock 和 Harbormaster 是原型,所以似乎没有太多文档。
首先我创建了构建计划并添加了两个构建步骤用于测试:
Lease Host
构建步骤,名称为localhost
,平台为linux
Run Command
构建步骤php /var/www/ci/test.php
作为命令,localhost
作为主机
但是手动启动后的错误信息是:
exception 'Exception' with message 'Lease has been broken!' in /var/www/phabricator/src/applications/drydock/storage/DrydockLease.php:172
Stack trace:
#0 /var/www/phabricator/src/applications/drydock/storage/DrydockLease.php(198): DrydockLease::waitForLeases(Array)
#1 /var/www/phabricator/src/applications/harbormaster/step/HarbormasterLeaseHostBuildStepImplementation.php(32): DrydockLease->waitUntilActive()
#2 /var/www/phabricator/src/applications/harbormaster/worker/HarbormasterTargetWorker.php(52): HarbormasterLeaseHostBuildStepImplementation->execute(Object(HarbormasterBuild), Object(HarbormasterBuildTarget))
#3 /var/www/phabricator/src/infrastructure/daemon/workers/PhabricatorWorker.php(91): HarbormasterTargetWorker->doWork()
#4 /var/www/phabricator/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php(162): PhabricatorWorker->executeTask()
#5 /var/www/phabricator/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php(22): PhabricatorWorkerActiveTask->executeTask()
#6 /var/www/libphutil/src/daemon/PhutilDaemon.php(183): PhabricatorTaskmasterDaemon->run()
#7 /var/www/libphutil/scripts/daemon/exec/exec_daemon.php(125): PhutilDaemon->execute()
#8 {main}
谁能给我一些提示,告诉我如何使用 Harbormaster 和 Drydock 在本地主机上 运行 命令?
问题是我没有通过 Drydock 创建任何资源。在这里,您如何使用 Harbormaster 和 Drydock:
执行命令- 创建一个干船坞蓝图(例如
Blueprint 4711
)。 - 为 Drydock 创建一个 SSH 私钥密码,它可用于通过 SSH 访问您的本地主机(例如
K123
). 通过 CLI 为您的本地主机创建 Drydock 资源:
./bin/drydock create-resource --blueprint 4711 --name localhost --attributes host=localhost,platform=linux,remote=true,port=22,path=/var/drydock,credential=123
创建 Harbormaster 构建计划。
- 将 构建步骤 (
Lease Host
) 添加到您的 构建计划,使用您的 Drydock 蓝图 作为Artifact
和linux
作为Platform
. - 使用您想要的命令和您的 干船坞蓝图 as
Host
.
将服务器本身用于 CD/CI 可能只是小型安装的一个选项。
您可能对我在维基教科书中发布的涵盖大部分方面的精彩指南感兴趣。如果您想了解 Almanac、Drydock 和 Harbormaster 如何相互作用:
https://en.wikibooks.org/wiki/Phabricator_Administrator%27s_Handbook/Continuous_integration
当然你会发现一些像这样的截图和漂亮的模式:
本指南以某种方式扩展了官方文档,此外,它还包括一个故障排除部分(涵盖您的确切问题!)。
好好读书!