HudsonにGIT pluginを入れてgitリポジトリに対応させてみた。
全プロジェクトに共通の下準備
GIT plugin自体はWeb UIからインストールできる。
http://ci.example.com:8080/pluginManager/
gitリポジトリはSSHでアクセスすることが多いので、hudsonのSSH鍵を用意して おく。
ci% sudo -u hudson ssh-keygen
プロジェクトごとの設定
リポジトリがgitosis経由で提供されている場合、hudsonがfetchできるように、 hudsonの公開鍵をgitosisに登録する。
gitosis% sudo $EDITOR gitosis-admin/gitosis.conf
[group foo-builders]
readonly foo
members = hudson
gitosis% cat > keydir/hudson.pub
gitosis% git push
プロジェクトの設定でリポジトリの種類にgitを指定して、URLを指定する。
ssh://gitosis@example.com/foo.git
CIとリポジトリが別ホストなので、フックとかがんばらずにpollingで動かすこ とに。
WebUIからビルドを実行すると、cloneまでは成功して、ワークスペースができる はず(コンソール出力を確認)。
ただ、GIT pluginはビルド前にタグを打ったりしたがるので、アイデンティティ 不明というエラーが出る。それを回避するためにワークスペースでuser.nameと user.emailを設定する(公式ページ参照)。
ci% su
ci# cd /var/lib/hudson/jobs/foo/workspace
ci# git config user.name "Hudson"
ci# git config user.email "hudson@example.com"
ci# exit
ci%
だいたいこんな感じ。
資料
- Hudson GIT plugin
http://wiki.hudson-ci.org//display/HUDSON/Git+Plugin
Other Articles
- 12 May 2011 : onlispja ebook
- 07 May 2011 : 文字校正用ユーティリティ
- 28 Apr 2011 : htdigest設定支援スクリプト
- 15 Apr 2011 : HudsonからJenkinsへの移行
- 11 Apr 2011 : Emacs Lispでert.elを使ってユニットテスト
- 25 Mar 2011 : Jenkins導入
- 11 Mar 2011 : 地震 / Earthquake in Japan