1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows Server + Jenkins + Gitolite + ASP.NET

Last updated at Posted at 2016-09-30

概要

既存のASP.NETのプロジェクトをビルドするジョブを組むまで
MSBuildをキックしたいのでWindowsServerで動かす必要がある
リポジトリはGitolite
ビルド後のデプロイはWindowsのコマンドで行う

インストール

WindowsServerに以下のものをインストールする。

  • Jenkins
  • Git for Windows
  • MSBuild その他、OSのバージョンやビルド対象物に合わせて.NET Frameworkなど

各ツールのインストール方法は他記事に任せて、今環境特有のポイントを記載します

Jenkinsのインストール

  • Windows版をダウンロードしてmsiを実行すればサービス登録までしてくれて簡単
  • 途中インストール先が以下のようになっているので変更する
    C:¥Program Files¥Jenkins => C:¥Jenkins

Git for Windowsのインストール

  • 途中インストール先が以下のようになっているので変更する
    C:¥Program Files¥Git => C:¥Git
  • Adjusting your PATH environmentは Use Git from the Windows Command Promptを選ぶ。Jenkinsからコマンドで実行するため
  • Configuring the line ending conversionsは Checkout as-is, commit as-isを選ぶ。Gitにあがっているソースをそのまま扱うため
  • Configuring the terminal emulator to use with Git Bashはどちらでも良い
  • Configuring extra optionsはどちらもチェックを外す。ちなみにGit Credential Managerは HTTPSでの認証を助けるものなので、今回のGitolite(SSH)には使えない

MSBuildと.NET Frameworkのインストール

サーバーのOSやビルド対象のプロジェクトによって必要
例えばWindows Server 2008で.NET Framework3.5が必要なプロジェクトだとデフォルトで入っていないので、サーバー管理でインストールする必要がある
MSBuildは.NET Frameworkに含まれているので、基本的にはそれがビルドに使える
うまくいかない場合、VisualStudioに含まれるバージョンもダウンロードできるのでそちらを使うと良いかもしれない。

Jenkinsの設定

###プラグインのインストール
プラグインの管理メニューから、以下のプラグインをインストールする
Git Plugin
MSBuild Plugin

###Git Pluginの設定
Global Tool Configurationから、Git InstallationsAdd Git
Path to Git executableC:/Git/bin/git.exe

###MSBuild Pluginの設定
同じ画面でAdd MSBuild
MSBuild.exe ファイルパスC:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
※もともと入っている.NET4.0のMSBuildでいい場合
※別のMSBuildを使いたい場合はそちらのパスを入れる。
※WARNINGが出るが気にしないで良い

###認証情報の登録

項目
種類 SSHユーザー名と秘密鍵
スコープ グローバル
ユーザー名 gitolite
秘密鍵 直接入力
id_rsaの中身をコピペする
パスフレーズ
ID 任意
説明 任意

※秘密鍵がパスフレーズありの場合、この方法は使えません。Credential PluginはLinuxの場合正常に動きますが、Windowsだとパスフレーズが扱えないようです。

##JOB作成
###フリースタイルプロジェクトで作成する
###ソースコード管理でGitを選択
Repository URLにssh://サーバー:ポート/リポジトリ
Credentialsに gitoliteを選択
ここで一回ジョブを実行してみる Cloneしたファイルを確認しておく

###ビルド

  1. ビルドでビルド手順の追加
  2. MSBuildの実行を選ぶ
  3. MSBuildバージョンにさっき追加したMSBuildを選択
  4. MSBuildビルドファイルにビルド対象のsln または csprojのパスを入力する。上記で確認したCloneしたファイルのフルパスを書く
  5. コマンドライン引数に /t:プロジェクト;Clean /p:Configuration=Release
    ※これはソリューションの一部をビルドしたい場合。もしビルドファイルにプロジェクトファイルを入力した場合は、プロジェクトは書かない。
    ※このあとビルドしたものをデプロイするが、もしデプロイにmsdeployを使う場合は、/t:Packageとする必要がある。それは別サイトを参照ください

###デプロイ
2. ビルドでビルド手順の追加
2. Windowsバッチコマンドの実行を選ぶ
2. robocopyなり、moveなりを使ってデプロイとコンフィグの調整などを行う
例:

robocopy C:\Jenkins\workspace\HOGE\PrecompiledWeb\HOGE C:\HOGE /E
del C:\HOGE\web.config
move C:\HOGE\web.config.test C:\GDPW\web.config

###実行してみる

###参考になったURL
https://gist.github.com/dany1468/2234130

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?