/
Jtest 2023.1 Dockerチュートリアル

Jtest 2023.1 Dockerチュートリアル

Docker HubにJtestの公式Dockerイメージが公開されて利用できるようになりました。

公式Dockerイメージは日本語化がされていません。日本語で利用したい場合は、以下に添付したDockerfileで日本語化されたDockerイメージをビルドして利用ください。

要件

  • Dockerを利用できる環境であること

  • インターネットに繋がる環境であること

  • コマンドライン実行可能なJtestのフローティングライセンスが利用できる環境であること

日本語環境の利用手順

JtestのDockerコンテナを利用してホストにあるJavaプロジェクトに静的解析を実行します。
Dockerfileを編集してJavaプロジェクトをビルドできる環境がセットアップ済みのDockerイメージをビルドして静的解析を実行します。
手順のコマンド例は、Linux環境でDockerを利用していることを想定しています。

Mavenプロジェクトの静的解析

  1. ホストの任意のディレクトリにMavenプロジェクトを配置します

    • この例ではMavenプロジェクトはホストの現在の作業ディレクトリ($PWD)にあります。

  2. Mavenプロジェクト直下に設定ファイルを配置します

  3. 添付のDockerfileを編集してJtestのDockerイメージにMavenのビルド環境をインストールするように設定します

    • Dockerfile編集例

      ... # install maven 3.6.3 WORKDIR /opt RUN wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip && \ unzip apache-maven-3.6.3-bin.zip && \ rm -f apache-maven-3.6.3-bin.zip USER parasoft:parasoft WORKDIR /home/parasoft ENV PATH=/opt/apache-maven-3.6.3/bin:${PATH}
  4. 編集したDockerfileでDockerイメージをビルドします

    • コマンド例

      docker build -t <任意のイメージ名>:<任意のタグ> .
  5. 静的解析を実行します

    • コマンド例

      docker run --rm \ -v $PWD:$PWD \ -w $PWD \ <手順4でビルドしたDockerイメージ名:タグ> \ mvn package jtest:jtest -s $PWD/settings.xml \ -Djtest.config="builtin://Recommended Rules" \ -Djtest.settings=$PWD/jtestcli.properties \ -Djtest.report=$PWD/reports
  6. ホストのMavenプロジェクト直下のreportsディレクトリからJtestレポートファイルを確認します

Gradleプロジェクトの静的解析

  1. ホストの任意のディレクトリにGradleプロジェクトを配置します

    • この例ではGradleプロジェクトはホストの現在の作業ディレクトリ($PWD)にあります。

  2. Gradleプロジェクト直下に設定ファイルを配置します

  3. 添付のDockerfileを編集してDockerイメージにGradleのビルド環境をインストールします

    • Dockerfile編集例

      ... # install gradle 7.4 WORKDIR /opt RUN wget https://services.gradle.org/distributions/gradle-7.4-bin.zip && \ unzip gradle-7.4-bin.zip && \ rm -f gradle-7.4-bin.zip USER parasoft:parasoft WORKDIR /home/parasoft ENV PATH=/opt/gradle-7.4/bin:${PATH}
  4. 編集したDockerfileでDockerイメージをビルドします

    • コマンド例

      docker build -t <任意のイメージ名>:<任意のタグ> .
  5. 静的解析を実行します

    • コマンド例

      docker run --rm \ -v $PWD:$PWD \ -w $PWD \ <手順4でビルドしたDockerイメージ名:タグ> \ gradle assemble jtest -I /opt/parasoft/jtest/integration/gradle/init.gradle \ -Djtest.config="builtin://Recommended Rules" \ -Djtest.settings=$PWD/jtestcli.properties \ -Djtest.report=$PWD/reports
  6. ホストのGradleプロジェクト直下のreportsディレクトリからJtestレポートファイルを確認します

Antプロジェクトの静的解析

  1. ホストの任意のディレクトリにAntプロジェクトを配置します

    • この例ではAntプロジェクトはホストの現在の作業ディレクトリ($PWD)にあります。

  2. Antプロジェクト直下に設定ファイルを配置します

  3. 添付のDockerfileを編集してDockerイメージにAntのビルド環境をインストールします

    • Dockerfile編集例

      ... # install Ant 1.9.14 WORKDIR /opt RUN wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.14-bin.zip && \ unzip apache-ant-1.9.14-bin.zip && \ rm -f apache-ant-1.9.14-bin.zip USER parasoft:parasoft WORKDIR /home/parasoft ENV PATH=/opt/apache-ant-1.9.14/bin:${PATH}
  4. 編集したDockerfileでDockerイメージをビルドします

    • コマンド例

      docker build -t <任意のイメージ名>:<任意のタグ> .
  5. 静的解析を実行します

    • コマンド例

      docker run --rm \ -v $PWD:$PWD \ -w $PWD \ <手順4でビルドしたDockerイメージ名:タグ> \ ant -f $PWD/jtest.xml jtest-analysis -lib /opt/parasoft/jtest/integration/ant/jtest-ant-plugin.jar \ -Djtest.config="builtin://Recommended Rules" \ -Djtest.settings=$PWD/jtestcli.properties \ -Djtest.report=$PWD/reports
  6. ホストのAntプロジェクト直下のreportsディレクトリからJtestレポートファイルを確認します

Related content