Jenkinsはデフォルトで対応しているSCMがSVNとCVSしかありません。
そのため、他のSCMを使用するためにはプラグインを追加する必要があります。
今回はGitからソースをチェックアウトし、さらに変更点をViewGitで参照するための手順を掲載します。
Gitプラグインのインストール
まず、JenkinsにGitのプラグインをインストールします。
トップの Manage Jenkins –> Manage Plugins から、プラグイン画面へ行きます。
Available タブを選択し、 Jenkins GIT plugin をチェックします。
一番下の Install without restart か、 Download now and install after restart をクリックします。
以上でGitプラグインのインストールを完了です。
ジョブの設定画面のSCMの項目にGitが表示されるようになります。
ViewGitのインストール
ViewGitとは、Gitのツリー情報などをWebから見れるようにするフロントエンドツールです。
phpでできているので、phpが動くようになっている必要があります。
今回は、nginx+php-fpmでの動作を前提として解説します。
まず、Source Forgeから最新のソースをダウンロードします。
解凍したら、それをnginxから参照できる場所に配置しましょう。
nginxからphp-fpmの設定をします。
root {ViewGitのインストール先};
index index.php;
location ~*\.php$ {
fastcgi_pass unix:{php-fpmのソケットパス};
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
viewgit/inc/config.php でリポジトリの設定をします(この設定はlocalconfig.phpからでもできます)。
$conf['projects_glob'] = array('{リポジトリディレクトリのパス}/*.git');
最後に viewgit/inc/localconfig.php を作成して完了です(中身は空でもかまいません)。
以上で、nginx経由でViewGitが見れるようになったはずです。
Geshiのインストール
ただし、このままだとソースコードのシンタックスハイライトが効かないので、Geshiを入れてみましょう。
Source Forgeから最新のソースをダウンロードし、解凍します。
解凍してできたgeshiディレクトリをそのまま viewgit/inc/ 以下に移動します。
viewgit/inc/config.php の54行目付近を以下の様に書き変えます。
$conf['geshi'] = true;
$conf['geshi_path'] = 'inc/geshi/geshi.php';
これで、Geshiが有効になり、ViewGitでソースコードを見た時にハイライトされるようになったはずです。
JenkinsでViewGitの設定をする
最後に、Jenkinsの変更点をViewGitで見られるように、設定しましょう。
ジョブの設定画面から、 Repository browser で viewgit を選択します。
ViewGit root url には先程設定したURLを入力し、 Project Name in ViewGit にはリポジトリ名(ViewGitで参照した時に、urlのクエリでp=で表示されている部分)を入力します。
これで、ジョブの Changes に viewgit のリンクが表示されるようになりました。