buildbotから任意のタイミングでsubversionからソースを取得してビルドを行う
■目的
任意のタイミングでsubversionからソースを取得するコマンドを実行する。

■環境
・windows7
・取得するsubversionの情報
URL http://127.0.0.1/svn/SampleProject/WebProject/trunk
USER admin
PASS admin
・svn.exeの場所
 C:\WebTool\subversion\bin\svn.exe



■環境設定
スレーブサーバの端末の環境変数 PATHにsvn.exeのあるフォルダを指定してコマンドプロンプトからsvnコマンドを実行できるようにする。

■master.cfgの設定
1. SCHEDULERSを設定する。
ForeceScedulerを使用して「runtests」という名前のビルダーを追加する。

from buildbot.schedulers.forcesched import ForceScheduler
c['schedulers'] = []
c['schedulers'].append(ForceScheduler(
name="force",
builderNames=["runtests"]))


2.builderの設定
SVNオブジェクトを使用してSubversionの取得をする。


from buildbot.steps.source import SVN
from buildbot.steps.shell import ShellCommand, Configure, Compile, Test

c['schedulers'] = []
c['schedulers'].append(ForceScheduler(
name="force",
builderNames=["runtests"]))
factory = BuildFactory()
factory.addStep(SVN(baseURL='http://127.0.0.1/svn/SampleProject/WebProject/',
username='admin',
password='admin',
defaultBranch='trunk'))


ここまで設定をしたらマスターサーバーとスレーブサーバを両方再起動する。

■ビルドの実行
1. buildbot (http://127.0.0.1:8010)にアクセスすると下記の画面が表示されるので、ログインを行う。

b0232065_316426.png

このログイン名はmaster.cfgの下記に記述してある。

authz_cfg=authz.Authz(
# change any of these to True to enable; see the manual for more
# options
auth=auth.BasicAuth([("admin","admin")]),
gracefulShutdown = False,
forceBuild = 'auth', # use this to test your slave once it is set up
forceAllBuilds = False,
pingBuilder = False,
stopBuild = False,
stopAllBuilds = False,
cancelPendingBuild = False,
)

この例ではユーザ名admin、パスワードadminになる。

2. buildersの一覧より実行したいbuilderを選択する。
ここでは先ほど追加した「runtest」ビルダーを選択する。
b0232065_3194179.png


3. Force Buildボタンを押して ビルダーを実行する。
b0232065_3212348.png


実行すると実行中の旨が表示される。
b0232065_3215474.png


ビルドが完了したころあいを見計らって画面を再交信すると、ビルドの結果が追加される。
もし、正常に成功した場合は緑、失敗した場合は赤になる。
b0232065_326469.png


もし失敗した場合は、Web上からその詳細を閲覧することもできる。

■参考
・清水川Web buildbot
Buildbot v0.8.6p1 documentation Buildbot Development
[PR]
by mima_ita | 2012-09-21 03:31 | buildbot
<< buildbotを使用してsu... windows でポートを占有... >>



実験ですお
検索
カテゴリ
最新の記事
.NET4.5におけるasy..
at 2014-07-02 00:46
.NETでTwitterを検..
at 2014-06-29 00:49
Redmineのプラグインで..
at 2014-06-28 03:29
IO.popenのwrite..
at 2014-06-28 03:25
RedmineのWikiでU..
at 2014-06-28 03:16
以前の記事
最新のトラックバック
その他のジャンル
ブログパーツ