すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DevOps:Java のテストとビルド

最終更新日:Jun 23, 2026

Flow は、Java プロジェクトのテスト、ビルド、ビルドアーティファクトのアップロードのためのエンドツーエンドのソリューションを提供します。ビジュアルエディタで [Java · Test, Build] テンプレートを使用することで、テスト、コードコンパイル、依存関係管理、アーティファクトのアップロードを自動化する CI/CD パイプラインを迅速にセットアップできます。

ステップ 1: テストとビルドのパイプラインの作成

  1. Alibaba Cloud DevOps コンソールにログインし、右上隅にある [パイプラインの作成] をクリックします。

  2. [パイプラインテンプレートの選択] ダイアログボックスで、[Java · Test, Build] を選択し、[作成] をクリックします。

ステップ 2: パイプラインソースの設定

  1. 新しいパイプラインの [プロセス設定] タブで、[パイプラインソース] ステージの [パイプラインソースの追加] をクリックします。

  2. コードソースを追加します。この例では、Alibaba Cloud DevOps が提供する Java 用の事前設定された [サンプルコードソース] を使用します。[追加] をクリックします。

ステップ 3: テストとビルドのジョブの設定

[Java · Test, Build] テンプレートには、[Java コードスキャン]、[Maven 単体テスト]、[Java ビルドアップロード] の 3 つの事前定義されたジョブが含まれています。これらの設定は類似しています。このセクションでは、[Java ビルドアップロード] ジョブを例として説明します。[プロセス設定] タブで、[ビルド] ステージの [Java ビルドアップロード] ジョブをクリックして、設定パネルを開きます。

Java ビルドのアップロード

  1. 基本パラメーターを設定します。

    パラメーター

    説明

    ジョブ名

    ジョブのカスタム名を入力するか、デフォルトの名前を使用します。

    ビルドクラスター

    サポートされているビルドクラスターは次のとおりです:

    ビルド環境

    サポートされているビルド環境は次のとおりです:

    • コンテナ環境の指定 (Alibaba Cloud DevOps デフォルトビルドクラスターの場合):Flow はビルドマシン上で指定されたコンテナを起動し、その単一コンテナ環境でビルドを実行します。Alibaba Cloud DevOps は公式イメージのリストを提供しています。実行環境として独自のイメージを指定することもできます。

    • デフォルト VM 環境 (プライベートビルドクラスターでのみサポート):[ビルドノードの指定] を選択する必要があります。Flow は環境をインストールし、ビルドマシン上で直接ジョブを実行します。ジョブを高速化するために、事前にビルドマシンに必要な SDK と環境をインストールすることを推奨します。

    説明

    ジョブの実行中、ビルド環境とジョブ実行スクリプトを完全に制御できます。

    パイプラインソースのダウンロード

    有効にすると、設定されたコードソースが対応する作業ディレクトリにダウンロードされます。利用可能なオプションは次のとおりです:

    • すべてのパイプラインソースをダウンロード

    • パイプラインソースをダウンロードしない

    • 選択したパイプラインソースをダウンロード

  2. [タスクステップ] を設定します。

    コンテナ環境と VM 環境

    1. Java のインストール

      必要な [JDK バージョン] と [Maven バージョン] を選択します。たとえば、[ステップ名] を [Java のインストール]、[JDK バージョン] を [JDK 1.8]、[Maven バージョン] を [Maven 3.5.2] に設定します。

    2. コマンドの実行

      カスタムビルドコマンドを入力します。複数のバージョンの Maven がサポートされています。これらのコマンドは、コードリポジトリのルートディレクトリで実行されます。

      たとえば、ビルドコマンド mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip を入力します。コマンドフィールドの下で、[シェルの指定] を選択し、[環境変数] セクションでカスタム環境変数を追加できます。

    3. アーティファクトのアップロード

      Packages へのアップロード

      パラメーター:

      パラメーター

      説明

      サービス接続の追加

      [サービス接続の追加] をクリックし、プロンプトに従って Flow から Packages へのサービス接続を作成します。詳細については、「サービス接続の管理」をご参照ください。

      リポジトリ

      サービス接続を追加した後、Packages の [汎用アーティファクト] リポジトリをターゲットリポジトリとして選択できます。

      説明

      [汎用アーティファクト] リポジトリの詳細については、「汎用アーティファクトの管理」をご参照ください。

      アーティファクト名

      異なるビルドのアーティファクトを区別し、デプロイメントコンポーネントによって使用されます。動的変数の使用を推奨します。デフォルトは Artifacts_${PIPELINE_ID} です。target1 のようなカスタム名を指定できます。

      アーティファクトバージョン

      バージョンはアーティファクトを一意に識別します。同じアーティファクトの重複したバージョンはプッシュできません。${DATETIME} のような動的変数の使用を推奨します。

      パッケージングパス

      プロジェクトのルートディレクトリからの相対パスを指定します。例:target/。複数のパスを指定できます。

      アーティファクトにパッケージングパスを含める

      このオプションを選択した場合、生成されたアーカイブには完全なパッケージングパスが含まれます。それ以外の場合は、ファイルのみが含まれます。[パッケージングパス] に複数のパスを指定した場合、このオプションは自動的に有効になります。

Java コードスキャンパラメーター

パラメーター

説明

増分スキャンモードを有効にする

このオプションを有効にしない場合、フルコードスキャンが実行されます。

カスタムルールディレクトリを使用する

有効にすると、Flow はコードリポジトリ内の p3c ルールファイルを使用します。カスタムルールディレクトリを設定できます。

ルールセット

[カスタムルールディレクトリを使用する] が有効でない場合、デフォルトのルールセットが使用されます。

サブディレクトリ

スキャン対象のコードを含むディレクトリ。指定しない場合、スキャンはコードリポジトリのルートで実行されます。

サブディレクトリを除外

スキャンから除外するディレクトリまたはファイル。フォーマットは .gitignore ファイルに似ています。たとえば、test/ と入力すると、test/ ディレクトリ内のすべてのファイルがスキャンから除外されます。

レッドライン情報

以下の 4 つのメトリックに基づいて、コードスキャンの成功基準を定義します:

  • 総問題数

  • ブロッカー問題

  • クリティカル問題

  • メジャー問題

Maven 単体テストパラメーター

パラメーター

説明

コマンドの実行

カスタム Maven 単体テストコマンドを指定します。

テストレポートパス

テストレポートファイルへのパス。これはファイルを指す必要があります。このファイルを含むディレクトリ全体がアップロードされます。例:target/site/surefire-report.html。

テストツール

Java-JUnit などのテストツールまたはフレームワークを選択します。

ステップ 4: パイプラインの実行と結果の表示

  1. 設定が完了したら、右上隅の [保存して実行] をクリックします。ダイアログボックスで [実行] をクリックしてパイプラインを開始します。ビジュアルエディタには各ステージの実行進捗が表示されます:[パイプラインソース] ステージが最初にコードリポジトリをプルし、次に [テスト] ステージで [Java コードスキャン] と [Maven 単体テスト] ジョブが並行して実行され、最後に [ビルド] ステージの [Java ビルドアップロード] ジョブが開始されます。

  2. パイプラインの実行が完了すると、各ジョブはログを生成します。ジョブのノードで [ログ] をクリックして詳細を表示します。以下は、Java ビルドアップロードジョブのログの例です:

    [executionStep begins at 2025-03-25 13:30:45]
    ######################################################
    # name      : ArtifactUpload
    # version   : v1.3.91
    # description : artifact upload
    # help url  : https://atomgit.com/flow-step/ArtifactUpload.git
    # build id  : e819a91f-8d7c-4e2d-9bfa-658f7fd89f64
    ######################################################
    2025-03-25 13:30:45 [INFO] Start to pack artifact
    2025-03-25 13:30:45 [INFO] PackInputs, {"projectDir":"/root/workspace/__flow_work/__flow_builds/f8f02d6c-a8fb-41eb-a9a2-e8284ed5240c/workspace/spring-boot_cmBM","sourcePath":
    ["target"],"filePath":"target","gitIgnore":"false","includePathInArtifact":"false","artifactFullName":"/root/workspace/__flow_work/__flow_builds/f8f02d6c-a8fb-41eb-a9a2-e8284ed5240c/workspace/packages/Artifacts_4032193.tgz"}
    2025-03-25 13:30:45 [INFO] Pack single file without file path
    2025-03-25 13:30:46 [INFO] use oss endpoint:xxx.aliyuncs.com
    It's recommended to set 'refreshSTSToken' and 'refreshSTSTokenInterval' to refresh stsToken、accessKeyId、accessKeySecret automatically when sts token has expired
    2025-03-25 13:30:46 [INFO] Artifact download URL is: http://xxx oss-cn-beijing-internal.aliyuncs.com/xxx/Artifacts_4032193.tgz
    2025-03-25 13:30:46 [INFO] run step successfully!