fujitsu software agile relief v1.1...キー flexlm_batch 値 1 キー fst_license_file 値 port@host...
TRANSCRIPT
FUJITSU Software Agile+ Relief V1.1.1
CI ツール連携機能使用説明書
AGR-0002-01Z0(20)
2020年7月
ii
はじめに
Agile+ Relief は、CI(Continuous Integration、継続的インテグレーション)ツールと連携
できます。本書では、CI ツール(Jenkins)における Agile+ Relief の実行に必要となる設定内
容、手順を説明します。
Agile+ Relief が出力するエラーメッセージやコマンドオプションについては『Agile+ Relief
使用説明書』、Agile+ Relief C/C++、J が出力するエラーメッセージやコマンドオプションにつ
いては各製品の『コマンド解説書』を参照してください。
Agile+ Relief Maven プラグインの入手先および動作環境については下記ダウンロードサイト
をご参照ください。
https://www.fujitsu.com/jp/group/fst/products/a-relief/download.html
iii
[高度な安全性が要求される用途への使用について]
本製品は、一般事務用、パーソナル用、家庭用、通常の産業用等の一般的用途を想定して設計・
製造されているものであり、原子力施設における核反応制御、航空機自動飛行制御、航空交通管
制、大量輸送システムにおける運行制御、生命維持のための医療用機器、兵器システムにおける
ミサイル発射制御等、極めて高度な安全性が要求され、仮に当該安全性が確保されない場合、直
接生命・身体に対する重大な危険性を伴う用途(以下「ハイセイフティ用途」という)に使用さ
れるよう設計・製造されたものではございません。お客様は、当該ハイセイフティ用途に要する
安全性を確保する措置を施すことなく、本製品を使用しないでください。ハイセイフティ用途に
使用される場合は、弊社の担当営業までご相談ください。
Microsoft、Windows、Windows Serverは、米国Microsoft Corporationの米国およびそ
の他の国における登録商標です。
その他本文で使用する製品名、サービス名は一般に各開発メーカーの商標です。
本資料には、「外国為替及び外国貿易管理法」に基づく特定技術が含まれています。従っ
て本資料またはその一部を輸出する場合には、同法に基づく許可が必要とされます。
株式会社富士通ソフトウェアテクノロジーズ
お願い
・ 本書の全体または一部を、無断で転載または複写することを禁じます。
・ 本書の内容は予告なく変更されることがあります。
All rights reserved, Copyright(C) 2019-2020 FUJITSU SOFTWARE TECHNOLOGIES LIMITED.
iv
目次
1 CIツール連携機能について .................................................... 1 1.1 CIツール ................................................................ 1 1.2 動作OS .................................................................. 1 1.3 JDK / JRE ............................................................... 1 1.4 ソフトウェア構成......................................................... 1
2 準備 ........................................................................ 2 2.1 Agile+ Reliefのインストール .............................................. 2 2.2 Agile+ Relief Mavenプラグインのインストール .............................. 2 2.2.1 プラグインの構成 ..................................................... 2 2.2.2 インストール......................................................... 2
2.3 環境設定 ................................................................ 5 2.3.1 Jenkinsシステム設定 .................................................. 5
3 実行・確認 .................................................................. 9 3.1 ビルドの設定 ............................................................ 9 3.2 Jenkinsジョブの設定 ..................................................... 11 3.3 ビルドの実行 ........................................................... 17 3.4 ビルド結果の確認........................................................ 18
4 エラーメッセージ ........................................................... 21 5 付録 ....................................................................... 22 5.1 Agile+ Relief Mavenプラグインリファレンス ............................... 22 5.1.1 設定可能なプロパティ ................................................ 22 5.1.2 出力結果 ........................................................... 22
1
1 CIツール連携機能について
Agile+ Relief を Jenkins ジョブに設定、実行することにより、品質状況を継続的にチェック
できます。また、Agile+ Relief が提供する Agile+ Relief Maven プラグインを利用することで、
Jenkins ジョブから Mavenを経由した Agile+ Reliefの実行ができます。
1.1 CIツール
CI ツール連携機能は、以下の CI ツールで動作します。
Jenkins
また、Jenkins に Maven を連携させて、Maven から Agile+ Relief を実行する場合は、下記ツ
ールが Jenkins の稼働するシステムにあらかじめインストールされている必要があります。
Apache Maven
詳細は「はじめに」に記載のダウンロードサイトを参照してください。
1.2 動作 OS
Windows、Red Hat Enterprise Linux で動作します。
詳細は「はじめに」に記載のダウンロードサイトを参照してください。
1.3 JDK / JRE
詳細は「はじめに」に記載のダウンロードサイトを参照してください。
1.4 ソフトウェア構成
Jenkins から Agile+ Relief をソース解析モードで使用する場合、同一 PC 上に Agile+ Relief
と Agile+ Relief C/C++または Agile+ Relief J がインストールされている必要があります。
Agile+ Relief と Agile+ Relief C/C++、Agile+ Relief J は、以下の製品が対応します。
Agile+ Relief フローティングライセンス
Agile+ Relief C/C++ フローティングライセンス
Agile+ Relief J フローティングライセンス
詳細は「はじめに」に記載のダウンロードサイトを参照してください。
2
2 準備
2.1 Agile+ Relief のインストール
Agile+ Relief のインストールガイドに従って、Agile+ Relief をインストールします。
Agile+ Relief J は、動作環境として JDK が必要です。あらかじめインストールしていただき、
環境変数 JAVA_HOME に JDKのインストールパスを設定してください。
2.2 Agile+ Relief Mavenプラグインのインストール
CI ツール連携機能の一つとして Agile+ Relief Mavenプラグインを提供しています。
Maven から Agile+ Reliefの一括実行コマンドを呼出す場合は、プラグインをインストールし
てください。
2.2.1 プラグインの構成
Agile+ Relief Maven プラグインは、「はじめに」に記載のダウンロードサイトの『CI ツール
連携プラグイン』からダウンロードしてください。
ダウンロードした自己解凍形式のファイル『agileplusrelief-plugin.exe』を任意の場所にコ
ピーして実行すると、『agileplusrelief-plugin』フォルダが作成されます。
『agileplusrelief-plugin』フォルダの内容は以下のとおりです。
フォルダ名 説明
maven Agile+ Relief の Maven プラグインの格納フォ
ルダ
『maven』フォルダの内容は以下のとおりです。
ファイル名 説明
agileplusrelief-maven-plugin-1.0.jar Agile+ Relief の Maven プラグイン
2.2.2 インストール
Maven に Agile+ Relief Maven プラグインをインストールします。
以下の手順は、Maven のインストール、設定が完了していることを前提に説明しています。
① コ マ ン ド ラ イ ン で 、 Agile+ Relief Maven プ ラ グ イ ン の 格 納 先 フ ォ ル ダ
(agileplusrelief-plugin.exe を実行して生成される『agileplusrelief-plugin\maven』
フォルダ配下)に移動します。
② mvn コマンドを実行し、Agile+ Relief Maven プラグインをインストールします。
インストール先(ローカルリポジトリ/リモートリポジトリ)毎の mvn コマンドの指定例
を以下に示します。
3
【Maven ローカルリポジトリにインストールする場合】
mvn コマンドには、以下の引数を指定します。
引数 説明
install:install-file ローカルリポジトリにプラグインをインスト
ールするためのゴール指定
-Dfile=agileplusrelief-maven-p
lugin-1.0.jar Agile+ Relief Maven プラグインのファイル名
-DgroupId=com.fujitsu.jp.fst.
agileplusrelief.maven
Agile+ Relief Maven プラグインのルートパッ
ケージ名
-DartifactId=agileplusrelief-
maven-plugin Agile+ Relief Maven プラグイン名
-Dversion=1.0 Agile+ Relief Maven プラグインのバージョン
-Dpackaging=jar Agile+ Relief Maven プラグインの形式
-DgeneratePom=true ローカルリポジトリにインストールするプラ
グインの POM 生成
例:Agile+ Relief Maven プラグイン(バージョン 1.0)を Maven ローカルリポジトリにイ
ンストールするコマンド
mvn install:install-file
-Dfile=agileplusrelief-maven-plugin-1.0.jar
-DgroupId=com.fujitsu.jp.fst.agileplusrelief.maven
-DartifactId=agileplusrelief-maven-plugin
-Dversion=1.0
-Dpackaging=jar
-DgeneratePom=true
4
【Maven リモートリポジトリにインストールする場合】
mvn コマンドには、以下の引数を指定します。
引数 説明
deploy:deploy-file リモートリポジトリにプラグインをインスト
ールするためのゴール指定
-Durl=「リポジトリ URL」 プラグインをインストールするリモートリポ
ジトリの URL
-DrepositoryId=「リポジトリ ID」 プラグインをインストールするリモートリポ
ジトリの ID
-Dfile=agileplusrelief
-maven-plugin-1.0.jar Agile+ Relief Maven プラグインのファイル名
-DgroupId=com.fujitsu.jp.fst.
agileplusrelief.maven
Agile+ Relief Maven プラグインのルートパッ
ケージ名
-DartifactId=agileplusrelief-
maven-plugin Agile+ Relief Maven プラグイン名
-Dversion=1.0 Agile+ Relief Maven プラグインのバージョン
-Dpackaging=jar Agile+ Relief Maven プラグインの形式
-DgeneratePom=true ローカルリポジトリにインストールするプラ
グインの POM 生成
例:Agile+ Relief Maven プラグイン(バージョン 1.0)を Maven リモートリポジトリにイ
ンストールするコマンド
mvn deploy:deploy-file
-Durl=http://xx.xxx.xxx.xxx/repository
-DrepositoryId=my-repository
-Dfile=agileplusrelief-maven-plugin-1.0.jar
-DgroupId=com.fujitsu.jp.fst.agileplusrelief.maven
-DartifactId=agileplusrelief-maven-plugin
-Dversion=1.0
-Dpackaging=jar
-DgeneratePom=true
5
2.3 環境設定
Jenkinsで Agile+ Reliefを実行、および結果表示するために必要な設定について説明します。
2.3.1 Jenkins システム設定
Agile+ Relief のライセンス管理サーバの情報、および Agile+ Relief の実行に必要な情報を
Jenkins システム設定に設定します。
① ダッシュボードの左ペインの『Jenkins の管理』をクリックします。
② 『システムの設定』をクリックします。
6
③ グローバル プロパティの『環境変数』をチェックします。
④ 『キーと値のリスト』の『追加』ボタンをクリックします。
7
⑤ 『キー』と『値』を設定します。
設定する環境変数を以下に示します。
※ 各環境変数が未設定の場合、動作環境によっては Jenkins から Agile+ Relief を実行でき
ない可能性があります。
ライセンスサーバ設定
Agile+ Relief 起動時のライセンスサーバ認証の設定をします。
ライセンス認証ポップアップ非表示設定
Agile+ Relief 起動時のライセンス認証ポップアップを非表示にする設定をします。
キー FLEXLM_BATCH
値 1
キー FST_LICENSE_FILE
値
port@host
port : ポート番号
Agile+ Relief のライセンスサーバシステムが使用するポートを指定しま
す。
Agile+ Relief ライセンスサーバのインストール時にポート番号を明示的
に指定しなかった場合は、ポート番号は省略可能です。
host : ライセンス管理サーバの IP アドレス または ホスト名
ポート番号を省略する場合も、必ず 「@」 を先頭につけて指定してくだ
さい。
8
各種パス設定
Agile+ Relief の実行コマンドの格納場所を設定します。
キー AR_HOME
値 Agile+ Relief インストールフォルダ
【C/C++言語のソースプログラムを解析する場合】
キー EPOMDIR
値 Windows の場合:
Agile+ Relief インストールフォルダ\PGRelief\Analyze\EPOM
Linux の場合:
Agile+ Relief インストールディレクトリ/FFSTaplus/FFSTpgr/Analyze/E
POM
キー PATH (Linux のみ)
値 Agile+ Relief インストールディレクトリ/FFSTaplus/FFSTpgr/Analyze/EPO
M
キー LD_LIBRARY_PATH (Linux のみ)
値 Agile+ Relief インストールディレクトリ/FFSTaplus/FFSTpgr/Analyze/EPO
M/lib
【Java 言語のソースプログラムを解析する場合】
キー PGRJ_HOME
値 Agile+ Relief インストールフォルダ\PGReliefJava
9
3 実行・確認
3.1 ビルドの設定
ビルド環境に合わせて、Maven、Windows バッチコマンド、シェルのいずれかに、Agile+ Relief
の実行に必要な設定を記述します。以下は、設定例です。
※ Agile+ Relief のソース解析モードを使用し、Java 言語のソースプログラムの解析をする
場合は、シェルスクリプト以外に設定してください。
Maven の場合
POM ファイル(pom.xml)に、Agile+ Relief の設定を記述します。
以下は、Jenkins のワークスペースを『C:\Program Files\Jenkins\workspace』に設定し
た場合の例です。
詳細は『5.1.1 設定可能なプロパティ』を参照してください。
:
<properties>
<arInstallDirectory>C:\Program Files\AgilePlus\Relief
</arInstallDirectory>
<pgrj.dir>C:\Program Files\AgilePlus\PGReliefJava</pgrj.dir>
</properties>
:
<build>
<plugins>
:
<!-- Agile+ Relief の Maven プラグインの設定 -->
<plugin>
<groupId>com.fujitsu.jp.fst.agileplusrelief.maven</groupId>
<artifactId>agileplusrelief-maven-plugin</artifactId>
<version>1.0</version>
<!-- 必要に応じてプロパティを追加 -->
<configuration>
<pgsFile>D:\ARQM\pgsFile\test.pgs</pgsFile>
<!-- <arOption> </arOption> -->
<arOutputDirectory>C:\Program Files\Jenkins\workspace\HtmlOut
</arOutputDirectory>
</configuration>
<executions>
<execution>
<!-- Agile+ Relief を実行するフェーズ -->
<phase>verify</phase>
<goals>
<!-- Agile+ Relief の Maven プラグインが提供するゴール (必須) -->
<goal>agileplusrelief</goal>
</goals>
</execution>
</executions>
</plugin>
:
</plugins>
</build>
:
10
Windows バッチコマンドの場合
Windows バッチファイルに、Agile+ Relief の一括実行コマンド(arqm)を記述します。
以下は Jenkins のワークスペースを『C:\Program Files\Jenkins\workspace』に設定し
た場合の例です。
備考:改行した記述をしていますが、実際は改行せず記述してください。
Agile+ Relief が提供する、一括実行コマンド(arqm)を指定します。
出力先フォルダは、Jenkins のワークスペース配下のフォルダを指定してください。
一括実行コマンド(arqm)の形式は、『Agile+ Relief使用説明書』を参照してください。
シェルの場合
シェルスクリプトに、Agile+ Relief の一括実行コマンド(arqm)を記述します。
以下は Jenkins のワークスペースを『/home/Jenkins/workspace』に設定した場合の例
です。
備考:改行した記述をしていますが、実際は改行せず記述してください。
Agile+ Relief が提供する、一括実行コマンド(arqm)を指定します。
出力先フォルダは、Jenkins のワークスペース配下のフォルダを指定してください。
一括実行コマンド(arqm)の形式は、『Agile+ Relief使用説明書』を参照してください。
"C:\Program Files\AgilePlus\Relief\arqm.exe"
-o "C:\Program Files\Jenkins\workspace\HtmlOut"
"D:\ARQM\pgsFile\test.pgs"
"/opt/FFSTaplus/FFSTarqm/arqm"
-o "/home/Jenkins/workspace/HtmlOut"
"/home/ARQM/pgsFile/test.pgs"
11
3.2 Jenkins ジョブの設定
フリースタイル・プロジェクトのビルドジョブにジョブを設定します。
① 『新規ジョブ作成』をクリックします。
② ジョブ名を入力して、『フリースタイル・プロジェクトのビルド』をクリックします。
12
③ 『ビルド』の『ビルド手順の追加』をクリックします。
④ 追加するビルド手順をクリックします。
※ 『3.1 ビルドの設定』 で設定したものを指定します。
※ Agile+ Relief のソース解析モードを使用し、Java 言語のソースプログラムの解析をする
場合 は、『シェルの実行』を使用できません。
13
⑤ ビルド手順に沿った設定をします。
A) 『Maven の呼び出し』を選択した場合
『Maven の呼び出し』の『ゴール』を指定します。
『ゴール』には、『3.1 ビルドの設定』の POM ファイル(pom.xml)に設定したフェーズ、
または Agile+ Relief Maven プラグインが提供するゴール(agileplusrelief)を指定しま
す。
B) 『Windows バッチコマンドの実行』を選択した場合
『Windows バッチコマンドの実行』の『コマンド』を指定します。
『コマンド』には、call コマンドに続いて、『3.1 ビルドの設定』で作成した Windows
バッチファイルを指定します。以下は、Windows バッチファイル名を『C:\Program
Files\Jenkins\workspace\analyze.bat』とした場合の例です。
14
C) 『シェルの実行』を選択した場合
『シェルの実行』の『コマンド』を指定します。
『コマンド』には、sh コマンドに続いて、『3.1 ビルドの設定』で作成したシェルスク
リプトを指定します。以下は、シェルスクリプトファイル名を『/home/Jenkins/workspa
ce/analyze.sh』とした場合の例です。
15
⑥ 『ビルド後の処理』の『ビルド後の処理の追加』をクリックします。
⑦ 『成果物の保存』をクリックします。
16
⑧ 『成果物の保存』の設定画面
『ビルド後の処理』の『保存するファイル』に、Agile+ Relief の実行結果(品質状況結果
ファイル)が保存されるフォルダを Jenkins のワークスペースからの相対パスで指定します。
Agile+ Relief の実行結果(品質状況結果ファイル)は、一括実行コマンド(arqm)の-o オ
プションに指定したフォルダに『プロジェクト構成定義ファイル』または、『プロジェクト構
成定義一覧ファイル』のファイル名(※)で生成されるフォルダ配下に出力されます。
『3.1 ビルドの設定』に記載の例の場合、『保存するファイル』に『HtmlOut/test/』を指
定します。
※ プロジェクト構成定義ファイルが『test.pgs』の場合、フォルダ『test』が生成されま
す。
17
3.3 ビルドの実行
Jenkins のビルドジョブを実行します。
Jenkins のダッシュボードを開き、以下のいずれかの操作を行います。
ダッシュボードから実行する場合
対象のジョブのビルド実行アイコンをクリックします。
プロジェクトの画面から実行する場合
対象のジョブをクリックし、ペインに表示される『ビルド実行』をクリックします。
18
3.4 ビルド結果の確認
ビルド結果は、Jenkins のダッシュボードに表示されます。
『すべて』ビューから対象のジョブをクリックし、ビルドが成功していることおよび、品質状
況結果が出力されていることを確認します。
① Jenkins のダッシュボードを開きます。
② 『すべて』ビューから対象のジョブをクリックします。
19
③ 左ペイン『ビルド履歴』から実行したビルドの成功が確認できたら、対象のビルドをクリ
ックします。
④ 『ビルドの成果物』をクリックします。
20
⑤ 成果物の保存結果画面で『(全てのファイルを zip で)』をクリックします。
⑥ 『保存』ダイアログが表示されるので、任意の場所を指定し保存します。
⑦ 保存先の zip ファイルを展開します。
⑧ 展開結果(index.htm)をブラウザで開き、 Agile+ Relief の実行結果(品質状況結果)が表
示されることを確認します。
21
4 エラーメッセージ
Agile+ Relief Maven プラグイン関連のエラーメッセージ
エラーメッセージ書式
Agile+ Relief Maven Plugin Error: エラーメッセージ
メッセージ一覧
メッセージ 説明 対処方法
pgsfile @1 is not
exist.
@1: pgsfile の名前
プロジェクト構成定義ファイ
ルまたはプロジェクト構成定
義一覧ファイルが存在しませ
ん。
プロジェクト構成定義ファイルま
たはプロジェクト構成定義一覧フ
ァイルを追加してください。
Install directory @1
is not exist.
@1:フォルダ
Agile+ Relief のインストー
ルフォルダが存在しません。
・Agile+ Relief のインストールフ
ォルダを正しく設定してくださ
い。
・環境変数 AR_HOME を正しく設定
してください。
Check command @1 is
not exist.
@1: arqm.exe
Agile+ Relief のインストー
ルフォルダに arqm.exe コマ
ンドが存在しません。
・Agile+ Relief のインストールを
確認してください。
・Agile+ Relief のインストールフ
ォルダを正しく設定してくださ
い。
Failed to execute
Agile+ Relief.
Agile+ Relief のコマンド実
行でエラーが発生しました。
Agile+ Relief出力ファイルの内容
を確認してください。
agileplusrelief_result.txt
Unsafe command line
string.
解析を実施するコマンドライ
ン文字列に以下の文字が含ま
れています。
;|&`()$<>*?{}[]!
左記の文字はコマンドライン文字
列に含まないようにしてくださ
い。
Plugin execute
error.
Agile+ Relief Maven プラグイ
ンの実行に失敗しました。
Agile+ Relief出力ファイルの内容
を確認してください。
arqm_result.txt
22
5 付録
5.1 Agile+ Relief Mavenプラグインリファレンス
Agile+ Relief Maven プラグインの情報は、以下の通りです。
基本情報
groupId com.fujitsu.jp.fst.agileplusrelief.maven
artifactId agileplusrelief-maven-plugin
version 1.0
phase verify
goal agileplusrelief
5.1.1 設定可能なプロパティ
POM ファイル(pom.xml)には、configuration タグで、以下のプロパティを設定することができ
ます。必要に応じて設定してください。
名前 型 説明 省略値
pgsFile ファイル プロジェクト構成定義ファイル
または
プロジェクト構成定義一覧ファ
イル
‐
arOptions リスト 一括実行コマンド(arqm)に直接
渡すオプション文字列
指定なし
arOutput
Directory
ファイル Agile+ Relief の実行結果出力フ
ォルダ
(一括実行コマンド(arqm)の-o
オプションに相当)
Maven プロジェクトのビルド先
フォルダ
(デフォルトプロパティ:
${project.build.directory})
5.1.2 出力結果
Agile+ Relief の実行が終了すると、以下に結果が出力されます。
フォルダ名 出力内容 出力先
pgs ファイルと同名 一括実行コマンド(arqm)
の出力結果
POM ファイル内の
arOutputDirectory プロパティで指
定したフォルダ
ファイル名 出力内容 出力先
arqm_result.txt 一括実行コマンド(arqm)
の log 出力
POM ファイル内の
arOutputDirectory プロパティで指
定したフォルダ