[[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が表示される。 **プラグインのインストール [#na92cb2a] ***追加するプラグイン [#b32891c2] -GitHub プラグイン --GitHunのリポジトリからコードを取得する。 -[[MSBuild]] プラグイン --VisualStudioを使用せずにVisual Studio Project solution fileをビルドする。 -[[NUnit]] プラグイン --ビルドしたプログラムにテストコードを実行しテスト結果を出力する。 -Violations プラグイン -FxCop Runner プラグイン --FxCopを実行し、DLL(アセンブリ)に対して静的コード解析を行う。 -[[Doxygen]] プラグイン --[[Doxygen]]を実行し、プログラムのドキュメンテーションを行う。 -HTML Publisher プラグイン --各種プラグインが生成したHTMLをダッシュボードに表示する。 -Email-ext プラグイン --email notificationsを送る。 -Credentials プラグイン --Credentialsを追加して認証できるようにする。 ***プラグインの追加手順 [#afdfb749] ダッシュボードHP上にある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] プロジェクトのプラグインの設定方法について説明する。 ***GitHub プラグインの設定 [#he70bdc6] GitHub プラグインの設定方法について説明する。 -Configuration ページの 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 Periodically (定期的にビルド)を選択 --Schedule に「0 0 * * 1」を入力する~ ---毎週月曜日の 12.00 AM JST.にビルドが起動される。 ---このスケジュールは、crontabの書式で記述される。 ---see : https://ja.wikipedia.org/wiki/Crontab **ビルド・ステップの設定 [#vdb0be18] ビルド・ステップの設定方法について説明する。 -Configuration ページの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]を選択する。 -Execute Windows batch commandセクションで以下を設定する。 --Windowsのバッチファイル名をCommandに入力する。 -- ***[[MSBuild]] プラグインの設定 [#w40724aa] ビルド・ステップにおける[[MSBuild]] プラグインの設定方法について説明する。 -Configuration ページの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]ボタンをクリックし -[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]ボタンをクリックし -[Generate documentation using Doxygen]を選択して [[Doxygen]] プラグインを設定する。 -[Generate documentation using Doxygen]セクションで下記を設定する。 --[Doxygen installation]フィールドに名称を入力する。 --[Doxyfile path]にDoxygenの設定ファイルのパスを入力する。 --詳細なオプションを設定するには、[Advanced…]ボタンをクリックする。 **ビルド後アクションの設定 [#h5d6baa7] ビルド後アクションの設定方法について説明する。 -Configuration ページの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]ボタンをクリックし -[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]ボタンをクリックし -[Publish HTML reports]を選択して Dashboardに[[Doxygen]]などのプラグインによって生成されたHTMLの出力を表示させる。 -Publish HTML reports セクションで[Add]ボタンをクリックし下記を設定する。 --[HTML directory to archive]を入力 --[Index page[s]]を入力 --[Report title]を入力