Windows Server 2012 R2でJenkinsを運用する

開発時に使うサーバーにCI環境を入れる。このサーバーでは下記の役割を担ってもらう。この構成は非常に良くないが、ミニマムである。Hyper-Vなどで動く仮想マシンなら都合がよい。

  • CIサーバー(Jenkinsを使う)
  • Gitリポジトリ (クライアントにはWindows共有を介して git clone, git push, git pullなどをしてもらう)

これらはWindows Server 2012 R2で動く。.NET Framework 4.5.1 Developer Packをインストールしておくこと。 また、サーバーマネージャーの役割と機能の追加で.NET Framework 3.5をインストールしておくこと。NUnit-Consoleは.NET 3.5を使う。

## Gitリポジトリ

Windows向けGitである「Git for Windows」を使う。Gitリポジトリを公開するためには、ssh、gitのプロトコルを使うか、HTTP/HTTPSでアクセスできるgitをホスティングするか、はたまたWindowsファイル共有などファイルシステムで運用するである。今回は最後のを使う。ちなみにWindowsのgitプロトコルはデッドロックもしくはハングアップが発生することがあるようなので、避けている。

主な流れは以下の通りだ。下記の2が面倒であるが、Windows環境ではこれがよいだろう。

  1. Windows ServerにGitリポジトリを集約するフォルダを作る
  2. そのフォルダを共有する
  3. クライアントはWindows Serverのフォルダをマウントする (ネットワークドライブの割り当て)

### フォルダの共有

  1. 共有したいフォルダを右クリック
  2. 共有タブをクリック
  3. 詳細な共有…をクリック

    1. このフォルダーを共有するにチェックを入れる
    2. 「アクセス許可」をクリックしてアクセス可能なユーザを追加する(git pushなどでリモートリポジトリ側に書き込むことがあるので、変更と読み取りにチェックを入れる)

## Jenkins

下記のプラグインをインストールする

  1. git plugin
  2. MSBuild plugin
  3. Nunit plugin

### git plugin

  1. git pluginを入れる
  2. gitの実行ファイルのパスはC:Program Files (x86)\Git\cmd\git.exe
  3. ジョブを追加して、簡単なエコー文を入れて、ビルド実行までの流れが通るかチェックする

### MSBuild Plugin

MSBuild Pluginを入れる

  • Name: v4.030319 (Microsoft Build Tools 2013)
  • Path to MSBuild: C:\Windows\Microsoft.NET\Framework\v4.0.30319

### NUnitPlugin

NUnit Pluginを入れる

## 参考資料