2015-07-20 2 views
0

Сухой док Я пытаюсь создать простой план сборки, используя и Порта : Сухой докНастройка локального плана сборки с и Порта

  1. Всякий раз, когда коммит сделан план сборки Deployment должен быть запущен , Это можно сделать с помощью Harold.

  2. В плане сборки Deployment есть несколько этапов сборки, в которых выполняется команда.

Я знаю и сухой док Порта прототипы, так что кажется, нет много документации.

Так первый я создал план сборки и добавлен два этапа сборки для тестирования:

  • 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} 

Может кто-нибудь дать мне несколько советов, как запускать команды на локальном хосте с и Порта Drydock?

ответ

0

Проблема была в том, что я не создал никакого ресурса через Drydock. Вот как вы можете получить выполнить команду с и Порта Drydock:

  1. Создайте Blueprint Сухого дока (например Blueprint 4711).
  2. Создание парольной фразы SSH Private Key для сухого дока, который может использоваться для доступа к локальному хосту через SSH (например K123).
  3. Создать ресурс Сухого дока через CLI для локального хоста:

    ./bin/drydock create-resource --blueprint 4711 --name localhost --attributes host=localhost,platform=linux,remote=true,port=22,path=/var/drydock,credential=123 
    
  4. Создать Построить план Порта.

  5. Добавить сборки Шаг (Lease Host) к вашему Построить план, использовать Blueprint Сухой док, как Artifact и linux как Platform.
  6. Добавление второго сборки Шаг вашему Построить план (Run Command) с помощью команды вы хотите, и ваш Drydock Blueprint как Host.

Использование самого сервера для CD/CI может быть только вариантом для небольших установок.