- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
-[[戻る>Jenkins]]
* 目次 [#f55b1c93]
#contents
*概要 [#r3357d42]
自動的に[[GitHub]]のリポジトリを取得して[[CI]]する[[Jenkins]]サーバの構築手順。
*ダウンロードとインストール [#rf2f3218]
**前提環境 [#g24fc7fd]
インストール開始前に以下の環境を準備する。
-Windows OS~
Jenkinsの前提 Windows OS
-Java SDK (JDK)~
Antが原因で JREでは動作しない。
-Git クライアント - for GitHubプラグイン
--'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).
-Graphviz - for [[Doxygen]]プラグイン~
http://www.graphviz.org/
-.NET Framework(CI対象のversion)
-FxCop
**Jenkinsのインストール [#v4fd5e30]
-https://jenkins-ci.org/にアクセスする。
-Native packages [Windows]からダウンロードする。
-[jenkins-バージョン番号.zip]からjenkins.msiを取り出す。
-jenkins.msiをダブルクリックして、デフォルトの設定でインストールする。
-ローカルのWebサーバ上でJenkinsのサイトが実行されブラウザでダッシュボードHPが表示される。
-ローカルのWebサーバ上でJenkinsのサイトが実行され、
-ブラウザでJenkins Dashboard ページが表示される。
**プラグインのインストール [#na92cb2a]
***追加するプラグイン [#b32891c2]
-GitHub プラグイン
--GitHunのリポジトリからコードを取得する。
-[[MSBuild]] プラグイン
--VisualStudioを使用せずにVisual Studio Project solution fileをビルドする。
-[[NUnit]] プラグイン
--ビルドしたプログラムにテストコードを実行しテスト結果を出力する。
-Violations プラグイン
-FxCop Runner プラグイン
--FxCopを実行し、DLL(アセンブリ)に対して静的コード解析を行う。
-[[Doxygen]] プラグイン
--[[Doxygen]]を実行し、プログラムのドキュメンテーションを行う。
-HTML Publisher プラグイン
--各種プラグインが生成したHTMLをダッシュボードに表示する。
--各種プラグインが生成したHTMLをDashboardに表示する。
-Email-ext プラグイン
--email notificationsを送る。
-Credentials プラグイン
--Credentialsを追加して認証+権限付与をできるようにする。
***プラグインの追加手順 [#afdfb749]
ダッシュボードHP上にあるManage Jenkins をクリックする。
Jenkins Dashboard ページ上にあるManage Jenkins をクリックする。
-オンライン時、一般的なプラグインを追加する場合、
--Availableタブを選択し、次のセクションでプラグインを選択する。
--[Install without restart]ボタンをクリックしプラグインをインストール。
-オフライン時やカスタム・プラグインの場合、
--Advancedタブを選択し、プラグインをアップロードする。
*Jenkinsの設定 [#lbfc4f2e]
**プラグインの設定 [#a1108584]
Manage Jenkins セクッションの [Configure System]ボタンをクリックしプラグインを設定。
***GitHub プラグイン [#s8086894]
-Gitのセクションで、
-[Name]フィールドを入力する。
-[Path to executable]に"git.exe"のパスを設定する。
***[[MSBuild]] プラグイン [#wf370ba6]
-[[MSBuild]] のセクションで、
-[MsBuildInstallations…]をクリックする。
-[Name]フィールドを入力する。
-[Path to MSBuild]に"MSBuild.exe2のパスを設定する。
***FxCop プラグイン [#w7d37d4b]
-FxCop のセクションで、
-[FxCopInstallations…]ボタンをクリックする。
-[Name]フィールドを入力する。
-[Path to FxCopCmd.exe]に"FxCopCmd.exe"のパスを設定する。
***Graphviz プラグイン [#nf4c8b8c]
-Dependency Graph Viewer Configuration のセクションで、
-[Enable rendering with graphviz]チェック ボックスをオン。
-[Dot Executable Path]に"Graphvizxx.xx\bin\dot.exe"のパスを設定する。
***Email notification プラグイン [#pb05a3a2]
-E-mail Notification のセクションで、
-[SMTP server]に"smtp.gmail.com"など、SMTPサーバのアドレスを設定する。
-[Advanced…]ボタンをクリックし下記を設定する。
--Use SMTP Authenticationを選択
--User Nameを入力
--Passwordを入力
--[Use SSL]チェックボックスをオン
-"smtp.gmail.com"を指定した場合、~
Googleの設定でメールの送信の許可が必要になる。
---安全性の低いアプリがアカウントにアクセスするのを許可する~
https://support.google.com/accounts/answer/6010255?hl=ja
---Less secure apps - Account settings~
https://www.google.com/settings/security/lesssecureapps
**その他の設定手順 [#ybd36c63]
***ユーザの作成と管理 [#bc443498]
Jenkins CI サイトは、アクセス権とセキュリティのレベルを指定してユーザの作成と管理ができる。
-ユーザの作成
--Manage Jenkinsページで[Manage Credentials]ボタンをクリックしユーザ作成する。
--Manage Credentialsページで[Add Credentials]ボタンをクリックし[Username with password]を選択する。
--Username with password のセクションに下記を設定する。
---[Scope]を選択
---[Username]を入力
---[Password]を入力
---[Description]を入力
---[Save]ボタンをクリック
-ユーザの管理
--Manage Jenkinsページで[Manage Users]ボタンをクリックしユーザの作成・削除・修正をする。
--Users ページ
---ユーザの設定
---ユーザの削除
-ユーザの設定
--Manage Jenkinsページで[Configure Global Security]ボタンをクリックしユーザのアクセスレベルと権限を設定する。
---[Enable security]チェックボックスをオン、以下は設定例。
---TCP port for JNLP slave agentsのセクションで[Random]オプションボタンを選択
---Security Realm のセクションで[Jenkins' own user database]オプションボタンを選択
---Authorization のセクションの[Project-based Matrix Authorization Strategy ]オプションボタンを選択
---User/group to addを選択
---[Apply] と [Save] ボタンをクリック
*プロジェクトの作成と設定 [#v66fb027]
**プロジェクトの作成 [#i2fa535f]
-Jenkins Dashboard ページで[New Item]ボタンをクリックし新しいプロジェクトを作成する。
-New Item ページで下記を設定する。
--[Item name]フィールドを入力
--[Freestyle project]オプションボタンを選択
--[OK]ボタンをクリック
**プロジェクトのプラグイン設定 [#da9a53ff]
プロジェクトのプラグインの設定方法について説明する。
設定が完了したら、[Apply]ボタンと [Save]ボタンをクリックしすべての設定を保存する。
-設定は、Jenkins projectのConfiguration ページから行う。
-設定が完了したら、[Apply]ボタンと [Save]ボタンをクリックしすべての設定を保存する。
***GitHub プラグインの設定 [#he70bdc6]
GitHub プラグインの設定方法について説明する。
-Configuration ページの Source Code Management の Git セクションで GitHub プラグインを設定する。
-Source Code Management の Git セクションで GitHub プラグインを設定する。
-Gitのセクションで以下を設定する。
--Repository URLに 'https://github.com/組織名/リポジトリ名/'.を入力する。
--[Add]ボタン をクリックしユーザの資格情報を追加する。
--GitHubのブランチ名や参照などの詳細なオプションを設定するには、[Advanced]ボタン をクリック
--Repositoryの設定
---[Add Repository]ボタン をクリックしGitHub にリポジトリを追加
---[Delete Repository]ボタン をクリックしGitHubのリポジトリを削除
---[Branch Specifier (blank for ‘any’)]にGitHubのリポジトリに存在するブランチ名を入力
--Branchの設定
---[Add Branch]ボタンをクリックしリポジトリにブランチを追加
---[Delete Branch]ボタンをクリックしリポジトリにブランチを削除
*プロジェクトのビルド設定 [#h3cc79a1]
プロジェクトのビルドの設定方法について説明する。
**ビルド・トリガの設定 [#rdaf5b1b]
ビルド・トリガの設定方法について説明する。
-Configuration ページの Build Triggersセクションで定期的に実行するためのビルド・トリガを設定する。
-Build Triggersセクションで定期的に実行するためのビルド・トリガを設定する。
-設定例 :
--Build Periodically (定期的にビルド)を選択
--Schedule に「0 0 * * 1」を入力する~
---毎週月曜日の 12.00 AM JST.にビルドが起動される。
---このスケジュールは、crontabの書式で記述される。
---see : https://ja.wikipedia.org/wiki/Crontab
**ビルド・ステップの設定 [#vdb0be18]
ビルド・ステップの設定方法について説明する。
-Configuration ページのBuild セクションの[Add build step]ボタンをクリックし、以下のビルド・ステップを追加可能。
-Build セクションの[Add build step]ボタンをクリックし、以下のビルド・ステップを追加可能。
--Build a Visual Studio project or solution using [[MSBuild]]
--Execute Windows batch command
--Execute Shell
--[[FxCop]] exec.
--Generaet documentation using [[Doxygen]]
--Invoke Ant
--Invoke top-level Marven target
--Set build status to "pending" on GitHub commit
--, etc.
***バッチファイルを設定する場合 [#v76cbac0]
ビルド・ステップにおける[Windows batch command]の設定方法について説明する。
-Configuration ページのBuild セクションの[Add build step]ボタンをクリックし[Execute Windows batch command]を選択する。
-Build セクションの[Add build step]ボタンをクリックし[Execute Windows batch command]を選択する。
-Execute Windows batch commandセクションで以下を設定する。
--Windowsのバッチファイル名をCommandに入力する。
--
***[[MSBuild]] プラグインの設定 [#w40724aa]
ビルド・ステップにおける[[MSBuild]] プラグインの設定方法について説明する。
-Configuration ページのBuild セクションの[Add build step]ボタンをクリックし、
-Build セクションの[Add build step]ボタンをクリックし、
-[Build a Visual Studio project or solution using MSBuild]を選択する。
-[Build a Visual Studio project or solution using MSBuild]のセクションで以下を設定する。
-- [[MSBuild]] Versionに[[MSBuildのName>#wf370ba6]]を入力する。
--[[MSBuild]] Buid File に Visual Studio Project solution fileのパスを入力する。
--詳細なビルドオプションを設定するには、[Advanced...]ボタンをクリックする。
***FxCop プラグインの設定 [#g091aeeb]
ビルド・ステップにおけるFxCop プラグインの設定方法について説明する。
-Configuration ページのBuild セクションの[Add build step]ボタンをクリックし
-Build セクションの[Add build step]ボタンをクリックし
-[FxCop exec]を選択して FxCop プラグインを設定する。
-[FxCop exec]セクションで下記を設定する。
--[FxCop Name]を入力する。
--[Assembly Files]に対象となる Assembly Files の path を入力(1行 1 path)する。
--[Output XML]に出力XMLファイルのパスを入力する。
***[[Doxygen]] プラグインの設定 [#j3b212e1]
ビルド・ステップにおける[[Doxygen]] プラグインの設定方法について説明する。
-Configuration ページのBuild セクションの[Add build step]ボタンをクリックし
-Build セクションの[Add build step]ボタンをクリックし
-[Generate documentation using Doxygen]を選択して [[Doxygen]] プラグインを設定する。
-[Generate documentation using Doxygen]セクションで下記を設定する。
--[Doxygen installation]フィールドに名称を入力する。
--[Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
--詳細なオプションを設定するには、[Advanced…]ボタンをクリックする。
**ビルド後アクションの設定 [#h5d6baa7]
ビルド後アクションの設定方法について説明する。
-Configuration ページのPost-build Actions セクションの[Add post-build action]ボタンをクリックし、以下のビルド後アクションを追加可能。
-Post-build Actions セクションの[Add post-build action]ボタンをクリックし、以下のビルド後アクションを追加可能。
--, etc.
***Publish [[NUnit]] test result reports プラグインの設定 [#wfa4e698]
ビルド後アクションにおける[[NUnit]] プラグインの設定方法について説明する。
-Post-build Actions セクションの[Add post-build action]ボタンをクリックし
-[Publish [[NUnit]] test result reports]を選択して Dashboardに[[NUnit]]のプラグインによって生成されたHTMLの出力を表示させる。
-Publish [[NUnit]] test result reports セクションで[Add]ボタンをクリックし下記を設定する。
--[Test report XMLs]に[[NUnit]]のレポートファイルのパスを入力する。
***[[Doxygen]] プラグインの設定 [#z7253e56]
ビルド後アクションにおける[[Doxygen]] プラグインの設定方法について説明する。
-Configuration ページのPost-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-Post-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-[Publish Doxygen]を選択して Dashboardに[[Doxygen]]の出力を表示させる。
-Publish Doxygen セクションで下記を設定する。
--[Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
--詳細なオプションを設定するには、[Advanced…]ボタンをクリックする。
***Publish HTML reports プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるPublish HTML reports プラグインの設定方法について説明する。
-Configuration ページのPost-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-Post-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-[Publish HTML reports]を選択して Dashboardに[[Doxygen]]などのプラグインによって生成されたXMLの出力を表示させる。
-Publish HTML reports セクションで[Add]ボタンをクリックし下記を設定する。
--[HTML directory to archive]を入力
--[Index page[s]]を入力
--[Report title]を入力
***Report Violations プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるReport Violations プラグインの設定方法について説明する。
-Configuration ページのPost-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-Post-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-[Report Violations]を選択して Dashboardに[[FxCop]]などのプラグインによって生成されたXMLの出力を表示させる。
-Report Violations セクションに下記を設定する。
--[fxcop]のレコードを入力
---☀
---☁
---●
---[XML filename pattern]
--[Faux Project Path]を入力
***E-Mail Notification プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるE-Mail Notification プラグインの設定方法について説明する。
-Configuration ページのPost-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-Post-build Actions セクションのPost-build Actions セクションの[Add post-build action]ボタンをクリックし
-[E-Mail Notification]を選択して電子メールでビルド状態の通知をさせる。
-E-Mail Notification セクションに下記を設定する。
--[Recipients]に受信者を入力する。
*ビルドの実行と確認 [#r25544bd]
**ビルドの実行 [#c3d52497]
-Jenkins projectページで[Build Now]ボタンをクリックしてプロジェクトをビルドする。
-Build Historyの中でビルド情報を確認するためにビルド番号をクリックする。
-Console Output をクリックしてビルド時の console logを確認する。
**プラグインの結果を確認 [#tbcdc4ed]
ビルドが成功するとJenkinsで構成されたプラグインの出力がJenkins projectページ上に表示される。
***FxCop プラグインの結果を確認 [#l814d345]
FxCop とViolations プラグインにより生成された結果をチェックし確認する。
-Jenkins projectページでViolationsをクリックし
-FxCop とViolations プラグインにより生成された結果を表示する。
-[filename]一覧からアイテムをクリックしコード違反の詳細なリポートを表示する。
***[[Doxygen]] プラグインの結果を確認 [#hecb37c7]
[[Doxygen]] プラグインにより生成された結果をチェックし確認する。
-Jenkins projectページでDoxyGen HTMLをクリックし
-[[Doxygen]] プラグインにより生成された結果を表示する。
***[[OpenCover]] プラグインの結果を確認 [#e707fd2a]
[[OpenCover]] とPublish HTML プラグインにより生成された結果をチェックし確認する。
-Jenkins projectページでCoverage Reportをクリックし
-[[Doxygen]] プラグインにより生成された結果を表示する。
***[[NUnit]] プラグインの結果を確認 [#l4d43b57]
[[NUnit]] プラグインにより生成された結果をチェックし確認する。
-Test Result Trend グラフでNUnit プラグインにより生成された結果する。
-詳細は、Jenkins projectページでLatest Test Resultをクリックし、
-[[NUnit]] プラグインにより生成された結果を表示する。