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
- 13 Oct 2017: 『テスト駆動開発』
- 19 Oct 2016: 『新装版 達人プログラマー 職人から名匠への道』
- 19 Aug 2016: 『プログラミングElixir』
- 20 Oct 2015: Migrating from git-media to git-lfs
- 04 Oct 2015: Git Large File Storageクライアントのインストール
- 12 Aug 2015: isbn.rb
- 22 Apr 2015: 「なるのか、なすのか?」(To Be Or To Do?)