マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

自動的にGitHubなどからGitリポジトリを取得してCIするJenkinsサーバを構築する場合の基本的な情報。

ダウンロードとインストール

前提環境

インストール開始前に以下の環境を準備する。

Windows OS

Jenkinsの前提 Windows OS

.NET Framework

CI対象のversion

Java SDK (JDK)

Antが原因で JREでは動作しない。

Gitクライアント

for Gitプラグイン

  • Git - Downloads
    https://git-scm.com/downloads
    • 'git' コマンド)が通常のパスで動作すること( in /usr/bin or /usr/sbin )
    • もし、その他の場合 ( /opt/local/bin/git か /usr/local/bin/git )
      /usr/bin に、シンボリックリンクを作成すること(例: sudo ln -s /opt/local/bin/git /usr/bin/git).

Doxygen

Graphviz

StyelCop

・・・

FxCop

その他

以下はプラグインとしてではなくコマンドから実行する。

  • NUnit
    .NETのテスティング・フレームワーク
  • OpenCover
    .NETのカバレッジツール
  • ReportGenerator?
    様々な.NETカバレッジツールが出力するXML出力を可視化する。

Jenkinsのインストール

  • https://jenkins-ci.org/にアクセスする。
  • Native packages [Windows]からダウンロードする。
  • [jenkins-バージョン番号.zip]からjenkins.msiを取り出す。
  • jenkins.msiをダブルクリックして、デフォルトの設定でインストールする。
  • ローカルのWebサーバ上でJenkinsのサイトが実行され、
  • ブラウザで[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページが表示される。

プラグインのインストール

一般的なプラグインは自動アップロードされる。
オフラインの場合は、手動アップロードする。

プラグインの追加手順

[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページ上にある

  • [Manage Jenkins]([Jenkinsの管理])をクリックする。
  • [Manage Plugins]([プラグインの管理])をクリックする。
  • オンライン時、一般的なプラグインを追加する場合、
    • [Available]([利用可能])タブを選択し、次のセクションでプラグインを選択する。
    • [Install without restart]([再起動せずにインストール])ボタンをクリックしプラグインをインストール。
  • オフライン時やカスタム・プラグインの場合、
    • [Advanced...]([高度な設定...])タブを選択し、プラグインをアップロードする。
    • [Available]([利用可能])タブを選択し、次のセクションでプラグインを選択する。
    • [Install without restart]([再起動せずにインストール])ボタンをクリックしプラグインをインストール。

追加するプラグイン

  • その他
    以下はプラグインとしてではなくコマンドから実行する。

Jenkinsの設定

プラグインの設定

ここでは、

  • バイナリのパス
  • サーバーのURL

など、プラグインの基本的な設定をする。

詳しい動作は、

  • プロジェクト
  • ビルドステップ

などで設定する。

プラグインの基本的な設定は、

[Manage Jenkins]([Jenkinsの管理]) セクッションの、
[Configure System]([システムの設定])ボタンをクリックしプラグインを設定。

Gitプラグイン

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

  • Git セクションで、
  • [Name]([名前])フィールドを入力する。
  • [Path to executable]に"git.exe"のパスを設定する。

MSBuild プラグイン

https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin

  • [MSBuild]セクションで、
  • [MsBuildInstallations?…]([MSBuild追加])をクリックする。
  • [Name]([名前])フィールドを入力する。
  • [Path to MSBuild]([MSBuild.exeファイルパス])に"MSBuild.exe"のパスを設定する。

FxCop プラグイン

https://wiki.jenkins-ci.org/display/JENKINS/FxCop+Runner+Plugin

  • [FxCop]セクションで、
  • [FxCopInstallations?…]([])ボタンをクリックする。
  • [Name]([名前])フィールドを入力する。
  • [Path to FxCopCmd?.exe]([FxCopCmd?.exeファイルパス])に"FxCopCmd?.exe"のパスを設定する。

Graphviz プラグイン

  • [Dependency Graph Viewer Configuration]セクションで、
  • [Enable rendering with graphviz]チェック ボックスをオン。
  • [Dot Executable Path]に"Graphvizxx.xx\bin\dot.exe"のパスを設定する。

Email notification プラグイン

  • [E-mail Notification]([E-mail 通知])セクションで、
  • [SMTP server]([SMTPサーバー])に"smtp.gmail.com"など、SMTPサーバのアドレスを設定する。
  • [Advanced...]([高度な設定...])ボタンをクリックし下記を設定する。
    • [Use SMTP Authentication]([SMTP認証])を選択
    • [User Name]([ユーザー名])を入力
    • [Password]([パスワード])を入力
    • [Use SSL]([SSL])チェックボックスをオン

その他

以下はプラグインとしてではなくコマンドから実行する。

その他の設定手順

ユーザの作成と管理

Jenkins CI サイトは、アクセス権とセキュリティのレベルを指定してユーザの作成と管理ができる。

  • セキュリティの設定
  • [Manage Jenkins]([Jenkinsの管理])ページで[Configure Global Security]([グローバルセキュリティの設定])ボタンをクリックしユーザのアクセスレベルと権限を設定する。
    • [Enable security]([セキュリティを有効化])チェックボックスをオン、以下は設定例。
    • [TCP port for JNLP slave agents]([JNLPスレーブ用TCPポート番号])セクションで[Random]オプションボタンを選択
    • [Security Realm]([ユーザー情報])セクションで[Jenkins' own user database]([Jenkinsのユーザーデータベース])オプションボタンを選択
    • [Allow users to sign up]([ユーザーにサインアップを許可])をオフにしておく。
    • [Authorization]([権限管理])セクションの[logged in users can do anything]([ログイン済みユーザーに許可])オプションボタンを選択
    • [Apply]([適用]) と [Save]([保存]) ボタンをクリック
  • ユーザの作成
  • 次に表示されるサインアップ画面でユーザ名、パスワード、メールアドレス、説明を入力し、サインアップ(ログイン)する。
  • [Manage Jenkins]([Jenkinsの管理])ページで[Manage Credentials]([認証情報の管理])ボタンをクリックしユーザ作成することもできる。
  • [Manage Credentials]([認証情報の管理])ページで[Add Credentials]([認証情報の追加])ボタンをクリックし[Username with password]([ユーザー名とパスワード])を選択する。
  • [Username with password]([ユーザー名とパスワード])セクションに下記を設定する。
    • [Scope]([スコープ])を選択
      ●グローバル : サインアップしたユーザはグローバルが設定されている。
      ●システム : ・・・
    • [Username]([ユーザー名])を入力
    • [Password]([パスワード])を入力
    • [Description]([説明])を入力
    • [Save]([保存])ボタンをクリック
  • ユーザの管理
  • [Manage Jenkins]([Jenkinsの管理])ページで[Manage Users]([ユーザーの管理])ボタンをクリックしユーザの作成・削除・修正をする。
  • [Users]ページ
    • ユーザの設定
    • ユーザの削除

プロジェクトの作成と設定

プロジェクトの作成

  • [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページで
    [New Item]([新規ジョブ作成])ボタンをクリックし新しいプロジェクトを作成する。
  • [New Item]([新規ジョブ作成])ページで下記を設定する。
    • [Item name]([ジョブ名])フィールドを入力
    • [Freestyle project]([フリースタイル・プロジェクトのビルド])オプションボタンを選択
    • [OK]ボタンをクリック

プロジェクトのプラグイン設定

プロジェクトのプラグインの設定方法について説明する。

  • 設定は、[Jenkins project]の[Configuration]ページから行う。
  • 設定が完了したら、[Apply]([適用]) と [Save]([保存]) ボタンをクリックしすべての設定を保存する。

Git プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

Git プラグインの設定方法について説明する。

  • [Source Code Management]([ソースコード管理])の[Git]セクションで Gitプラグインを設定する。
  • [Git]セクションで以下を設定する。
  • Repositoryの設定
    • [Repository URL]に 'https://github.com/組織名/リポジトリ名/'.を入力する。
    • [Credentials]の[Add]([追加])ボタン をクリックしユーザの資格情報を追加する。
    • Gitのブランチ名や参照などの詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリック
    • [Add Repository]ボタン をクリックする、更にリポジトリを追加
    • [Delete Repository]ボタン をクリックしリポジトリを削除
  • Branchの設定
    • [Branch Specifier (blank for 'any')]にリポジトリに存在するブランチ名を入力
    • [Add Branch]ボタンをクリックしリポジトリにブランチを追加
    • [Delete Branch]ボタンをクリックしリポジトリにブランチを削除
  • この設定により、以下のパスにリポジトリがclone & checkoutされる。
    "C:\Program Files (x86)\Jenkins\workspace\

プロジェクトのビルド設定

プロジェクトのビルドの設定方法について説明する。

ビルド・トリガの設定

ビルド・トリガの設定方法について説明する。

  • [Build Triggers]([ビルド・トリガ])セクションで定期的に実行するためのビルド・トリガを設定する。
  • 設定例 :
  • [Build Periodically]([定期的に実行])を選択
  • Schedule に「0 0 * * 0」を入力する

ビルド・ステップの設定

ビルド・ステップの設定方法について説明する。

  • [Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])ボタンをクリックし、以下のビルド・ステップを追加可能。
  • [Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])
  • [Execute Windows batch command]([Windowsバッチコマンドの実行])
  • [Execute Shell]([シェルの実行])
  • [FxCop exec.]([FxCop実行])
  • [Generaet documentation using Doxygen]([Doxygenでドキュメントを生成する])
  • [Invoke Ant]([Antの呼び出し])
  • [Invoke top-level Marven target]([Mavenの呼び出し])
  • [Set build status to "pending" on GitHub commit]
  • , etc.

バッチ・コマンド、バッチ・ファイルを設定する場合

ビルド・ステップにおける[Windows batch command]([Windowsバッチコマンドの実行])の設定方法について説明する。

  • [Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し
    [Execute Windows batch command]([Windowsバッチコマンドの実行])を選択する。
  • [Execute Windows batch command]([Windowsバッチコマンドの実行])セクションで以下を設定する。
    • Windowsのバッチ・コマンドをCommandに入力する。

MSBuild プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin

ビルド・ステップにおける[Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])の設定方法について説明する。

  • [Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し、
  • [Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])を選択する。
  • [Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])のセクションで以下を設定する。
    • [MSBuild Version]にMSBuildのNameを入力する。
    • [MSBuild Buid File]にVisual Studio Project solution fileのパスを入力する。
    • 詳細なビルドオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

FxCop プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/FxCop+Runner+Plugin

ビルド・ステップにおける[FxCop exec.]([FxCop実行])の設定方法について説明する。

  • [Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し
  • [FxCop exec.]([FxCop実行])を選択して FxCop プラグインを設定する。
  • [FxCop exec.]([FxCop実行])セクションで下記を設定する。
    • [FxCop Name]を入力する。
    • [Assembly Files]に対象となる Assembly Files の path を入力(1行 1 path)する。
    • [Output XML]に出力XMLファイルのパスを入力する。

Doxygen プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/Doxygen+Plugin

ビルド・ステップにおける[Generaet documentation using Doxygen]([Doxygenでドキュメントを生成する])の設定方法について説明する。

  • [Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し
  • [Generaet documentation using Doxygen]([Doxygenでドキュメントを生成する])を選択して Doxygen プラグインを設定する。
  • [Generaet documentation using Doxygen]([Doxygenでドキュメントを生成する])セクションで下記を設定する。
    • [Doxygen installation]フィールドに名称を入力する。
    • [Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
    • 詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

ビルド後アクションの設定

ビルド後アクションの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし、以下のビルド後アクションを追加可能。
    • , etc.

Publish NUnit test result reports プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin

ビルド後アクションにおけるNUnit プラグインの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
  • [Publish NUnit test result reports]を選択して
    [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに
    NUnitのプラグインによって生成されたHTMLの出力を表示させる。
  • [Publish NUnit test result reports]セクションで[Add]ボタンをクリックし下記を設定する。
    • [Test report XMLs]にNUnitのレポートファイルのパスを(workspaceフォルダ以下の相対パスで)入力する。

Publish HTML reports プラグインの設定

ビルド後アクションにおけるPublish HTML reports プラグインの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
  • [Publish HTML reports]を選択して
    [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに
    OpenCoverなどのプラグインによって生成されたXMLの出力を表示させる。
  • [Publish HTML reports]セクションで[Add]ボタンをクリックし下記を設定する。
    • [HTML directory to archive]を(workspaceフォルダ以下の相対パスで)入力
    • [Index page[s]]を入力
    • [Report title]を入力

Doxygen プラグインの設定

https://wiki.jenkins-ci.org/display/JENKINS/Doxygen+Plugin

ビルド後アクションにおけるDoxygen プラグインの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
  • [Publish Doxygen]を選択して
    [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページにDoxygenの出力を表示させる。
  • [Publish Doxygen]セクションで下記を設定する。
  • [Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
    • workspaceフォルダ以下の相対パスとして入力する。
    • また、Doxyfile内のパスもworkspaceフォルダ以下の相対パスとして入力する。
  • 詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

Report Violations プラグインの設定

ビルド後アクションにおけるReport Violations プラグインの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
  • [Report Violations]を選択して
    [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに
    StyelCopFxCopなどのプラグインによって生成されたXMLの出力を表示させる。
  • [Report Violations]セクションに下記を設定する。
  • [fxcop]のレコードを入力
    • [XML filename pattern]
  • [Faux Project Path]を入力

E-Mail Notification プラグインの設定

ビルド後アクションにおけるE-Mail Notification プラグインの設定方法について説明する。

  • [Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
  • [E-Mail Notification]を選択して電子メールでビルド状態の通知をさせる。
  • [E-Mail Notification]セクションに下記を設定する。
  • [Recipients]に受信者を入力する。

ビルドの実行と確認

ビルドの実行

  • [Jenkins project]ページで[Build Now]ボタンをクリックしてプロジェクトをビルドする。
  • Build Historyの中でビルド情報を確認するためにビルド番号をクリックする。
  • Console Output をクリックしてビルド時の console logを確認する。

プラグインの結果を確認

ビルドが成功するとJenkinsで構成されたプラグインの出力が[Jenkins project]ページ上に表示される。

StyelCop プラグインの結果を確認

・・・

FxCop プラグインの結果を確認

FxCop とViolations プラグインにより生成された結果をチェックし確認する。

  • [Jenkins project]ページでViolationsをクリックし
  • FxCop とViolations プラグインにより生成された結果を表示する。
  • [filename]一覧からアイテムをクリックしコード違反の詳細なリポートを表示する。

Doxygen プラグインの結果を確認

Doxygen プラグインにより生成された結果をチェックし確認する。

  • [Jenkins project]ページでDoxyGen? HTMLをクリックし
  • Doxygen プラグインにより生成された結果を表示する。

OpenCover の結果を確認

OpenCover とPublish HTML プラグインにより生成された結果をチェックし確認する。

  • [Jenkins project]ページでCoverage Reportをクリックし
  • OpenCover により生成された結果を表示する。

NUnit の結果を確認

NUnit により生成された結果をチェックし確認する。

  • Test Result Trend グラフでNUnit プラグインにより生成された結果する。
  • 詳細は、[Jenkins project]ページでLatest Test Resultをクリックし、
  • NUnit プラグインにより生成された結果を表示する。

参考

プラグイン

セキュリティ

スケジュール

Jenkins構築 - Open 棟梁 Wiki


Tags: .NET開発, :テスト, :デバッグ, :ドキュメンテーション, :ツール類, :CI


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-03-15 (木) 16:47:12 (459d)