buildbot的master.cfg 文件分析

儘量保持和buildbot create-master master 時所創建的內容一致,分析關鍵點
更多詳盡的請閱讀官網的手冊 http://buildbot.net/repos/release/docs/buildbot.html
jimi@debian:~/buildbot/master$ cat master.cfg

# -*- python -*-
# ex: set syntax=python:                                  #設置Vi的高亮方式

c = BuildmasterConfig = {}

from buildbot.buildslave import BuildSlave
c['slaves'] = [BuildSlave("bot1name", "bot1passwd")]      #創建slave所需的名字和密碼

# to limit to two concurrent builds on a slave, use
# c['slaves'] = [BuildSlave("bot1name", "bot1passwd", max_builds=2)] #限制當前slave的在線個數

c['slavePortnum'] = 9989                #slave與master通信的端口號,可以改變

####### CHANGESOURCES

# the 'change_source' setting tells the buildmaster how it should find out
# about source code changes. Any class which implements IChangeSource can be
# put here: there are several in buildbot/changes/*.py to choose from.

#監控源碼改變的方式
#from buildbot.changes.pb import PBChangeSource #註釋掉
#c['change_source'] = PBChangeSource()                 #註釋掉
#我採用SVN的方式
#svnpoller.py 腳本會檢測svn服務器上源碼的改變
from buildbot.changes.svnpoller import SVNPoller  
c['change_source'] = SVNPoller("svn://192.168.1.100/svn/pro", #工程地址
                    svnuser='', svnpasswd='',   #用戶和密碼,當時設置爲空
                    pollinterval=5)                      #每各5秒查詢一次,默認10分鐘

####### SCHEDULERS
from buildbot.scheduler import Scheduler
c['schedulers'] = []
c['schedulers'].append(Scheduler(name="all", branch=None,
                                 treeStableTimer=5, #表示在進行代碼構建之前,代碼保持不變的必要時間。實際上就是代碼上傳的緩衝時間,過了這個時間,客戶端才進行代碼構建。
                                 builderNames=["buildbot-full"]))     #網頁中顯示的名字
####### BUILDERS

#cvsroot = ":pserver:[email protected]:/cvsroot/buildbot" #註釋掉
#cvsmodule = "buildbot" #註釋掉

from buildbot.process import factory
from buildbot.steps.source import SVN
from buildbot.steps.shell import Compile
from buildbot.steps.python_twisted import Trial
#f1 = factory.BuildFactory() #註釋掉
#f1.addStep(CVS(cvsroot=cvsroot, cvsmodule=cvsmodule, login="", mode="copy")) #註釋掉
#f1.addStep(Compile(command=["python", "./setup.py", "build"])) #註釋掉
#f1.addStep(Trial(testpath=".")) #註釋掉

f1 = factory.BuildFactory()
f1.addStep(SVN(mode='update', baseURL='svn://192.168.1.100/svn/pro', #工程地址
    defaultBranch=''))       # ?
f1.addStep(Compile(command=["make"]))
#如何想執行的命令都在addStep添加,但命令要存在於slave的path中

b1 = {'name': "buildbot-full", #網頁中顯示的名字
      'slavename': "bot1name", #slave的名字,沒有忘記吧
      'builddir': "full",                   #在master/slave都要生成的目錄名字
      'factory': f1,
      }

c['builders'] = [b1]


####### STATUS TARGETS
c['status'] = []
# 結果提交方式,
from buildbot.status import html
c['status'].append(html.WebStatus(http_port=8010))

####### PROJECT IDENTITY
c['projectName'] = "Buildbot"         #工程名字
c['projectURL'] = "http://buildbot.sourceforge.net/" #工程主頁

c['buildbotURL'] = "http://localhost:8010/"   #瀏覽結果的網址


參考
http://blog.chinaunix.net/u2/68938/showart_1076484.html
http://buildbot.net/repos/release/docs/buildbot.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章