2017-06-09 52 views
0

我正在努力使DockerLatentWorker在buildbot work.But到目前爲止buildbot總是被困在準備工人階段幾個小時。 這是在該時刻的終端Buildbot被困在準備工人階段與DockerLatentWorker

2017-06-09 14:16:55+0000 [-] starting build <Build runtests number:None results:success> using worker <LatentWorkerForBuilder builder=u'runtests' worker=u'example-worker' state=AVAILABLE> 2017-06-09 14:16:55+0000 [-] <Build runtests number:None results:success>.startBuild 2017-06-09 14:16:57+0000 [-] acquireLocks(worker <DockerLatentWorker u'example-worker'>, locks []) 2017-06-09 14:16:57+0000 [-] substantiating worker <LatentWorkerForBuilder builder=u'runtests' worker=u'example-worker' state=DETACHED> 2017-06-09 14:16:58+0000 [-] Container created, Id: b6eb4d... 2017-06-09 14:16:58+0000 [-] Container started 對於主我改性https://hub.docker.com/r/buildbot/buildbot-master/~/dockerfile/這個dockerfile添加搬運工吡依賴於輸出。

我正在使用buildbot 0.9.7和Docker版本17.03.1-ce構建c6d412e。

這裏是我的Master.cfg中的文件(它的片段)

from buildbot.plugins import * 
c = BuildmasterConfig = {} 

####### WORKERS 

c['workers'] = [ 
    worker.DockerLatentWorker('example-worker', 'password', 
         docker_host='tcp://10.29.21.172:2375', 
         image='buildbot/buildbot-worker:master') 
] 

c['protocols'] = {'pb': {'port': 9989}} 

####### CHANGESOURCES 

c['change_source'] = [] 
c['change_source'].append(changes.GitPoller(
     'git://github.com/buildbot/pyflakes.git', 
     workdir='gitpoller-workdir', branch='master', 
     pollinterval=300)) 

####### SCHEDULERS 

c['schedulers'] = [] 
c['schedulers'].append(schedulers.SingleBranchScheduler(
          name="all", 
         change_filter=util.ChangeFilter(branch='master'), 
          treeStableTimer=None, 
          builderNames=["runtests"])) 
c['schedulers'].append(schedulers.ForceScheduler(
          name="force", 
          builderNames=["runtests"])) 


c['builders'] = [] 
c['builders'].append(
    util.BuilderConfig(name="runtests", 
    workernames=["example-worker"], 
    factory=factory)) 

####### PROJECT IDENTITY 

c['title'] = "Pyflakes" 
c['titleURL'] = "https://launchpad.net/pyflakes" 
c['buildbotURL'] = "http://localhost:8010/" 
c['www'] = dict(port=8010, 
      plugins=dict(waterfall_view={}, console_view={})) 

####### DB URL 

c['db'] = { 
    'db_url' : "sqlite:///state.sqlite", 
} 

我已經配置我的碼頭工人守護聽TCP://0.0.0.0:2375也和也拉buildbot/buildbot-worker:主圖像。

這是Buildbot

Screenshot

截圖我不能找出問題的所在。

回答

0

只要泊塢窗圖像出現在系統上,碼頭準備工作就需要幾百毫秒。 無需等待數小時。 您的碼頭工人無法啓動的原因很多。

  • 工作人員容器無法訪問主人的容器工作人員TCP端口。
  • 工人容器不能在所有

開始可以使用DockerLatentWorker調試參數followStartupLogs =真對有主顯示內twisted.log工人的日誌

+0

'連接到94e7f6672af6:9989失敗:[失敗實例:追蹤(失敗,沒有框架)::DNS查找失敗:94e7f6672af6.' –

+0

看起來代替主機ip泊塢窗容器ID被保存爲主機 –