全部產品
Search
文件中心

Alibaba Cloud DevOps:Java測試構建

更新時間:Jun 03, 2026

流水線 Flow提供了一站式Java專案測試與構建解決方案,協助您快速配置CI/CD流水線,並實現自動化測試、代碼編譯、依賴管理、構建產物上傳等。本文為您介紹如何通過可視化介面配置Java · 測試、構建

步驟一:建立測試構建流水線

  1. 登入流水線 Flow控制台,單擊右上方建立流水線。

  2. 在彈出的選擇流水線模板頁面,選擇Java · 測試、構建,並單擊建立

步驟二:配置流水線源

  1. 建立流水線流程配置中,單擊流水線源階段的添加流水線源

  2. 添加您的代碼源。本文使用雲效預置的Java範例程式碼源,此處單擊添加即可。

步驟三:配置測試構建

Java · 測試、構建模板預置了Java 代碼掃描Maven 單元測試Java 構建上傳。它們的配置基本類似,本文以Java 構建上傳為例進行說明。在流程配置頁簽中,單擊構建階段的Java 構建上傳任務,進入任務配置。

Java 構建上傳配置詳情

  1. 配置基本參數。

    參數

    說明

    任務名稱

    您可自訂任務名稱,一般保持預設即可。

    構建叢集

    支援以下構建叢集:

    構建環境

    支援以下構建環境:

    • 指定容器環境(雲效預設構建叢集):流水線 Flow在構建機器上啟動指定容器,在單容器環境進行構建。雲效提供官方常用鏡像供選擇使用、您也可以指定自己的鏡像作為運行環境。

    • 預設VM環境(僅私人構建叢集支援):須選擇指定構建節點流水線 Flow會直接在構建機器上安裝環境並執行任務,為了提升任務構建速度建議提前在構建機器上安裝好相應SDK和環境。

    說明

    任務執行期間,流水線任務構建環境分配給使用者使用,構建環境的使用權歸屬使用者,任務執行指令碼由使用者自訂。

    下載流水線源

    開啟下載流水線源後,您配置的源檔案將會被下載至對應的工作目錄下。支援以下三種方式:

    • 下載全部流水線源

    • 不下載流水線源

    • 下載部分流水線源

  2. 配置任務步驟

    指定容器環境/預設VM環境

    1. 安裝 Java

      根據具體需求選擇JDK版本Maven版本。在安裝 Java步驟中,將步驟名稱設定為 安裝 JavaJDK 版本選擇 JDK 1.8Maven 版本選擇 Maven 3.5.2

    2. 執行命令

      執行命令為使用者自訂構建命令。支援多版本的Maven,命令執行目錄為程式碼程式庫根路徑。

      例如填寫構建命令 mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip。下方可選擇是否指定運行Shell,並通過環境變數地區添加自訂環境變數。

    3. 構建物上傳

      將構建產物上傳到製品倉庫 Packages統一管理

      參數說明:

      參數

      說明

      添加服務串連

      單擊添加服務串連,根據介面提示建立流水線 Flow製品倉庫 Packages的服務串連。更多資訊,請參見服務串連管理

      倉庫

      添加服務串連後,可選擇Packages中的通用製品倉庫作為目標倉庫。

      說明

      關於通用製品倉庫的更多資訊,請參見通用製品管理

      製品名稱

      用於區分多次構建產生的不同產出物,定義後在部署組件使用,建議使用動態變數形式設定。預設使用Artifacts_${PIPELINE_ID}。您可自訂構建物的名稱(如target1)。

      製品版本

      版本用於唯一標識您的製品檔案,因此同一製品不允許推送重複版本。建議使用動態變數形式,比如 ${DATETIME}

      打包路徑

      設定起始位置為專案檔夾的相對路徑(如target/),可以設定多個檔案路徑。

      製品中包含打包路徑的目錄

      如果選中,則產生的壓縮包中,包含完整的打包路徑,否則僅包含檔案。當選擇了多個打包路徑時,該值自動化佈建為true

Java 代碼掃描專屬參數說明

參數

說明

開啟增量掃描模式

未開啟增量掃描模式時,將對全量代碼進行掃描。

使用自訂規則目錄

如果開啟,將使用您程式碼程式庫中的p3c規則檔案,可以配置自訂規則目錄。

規則集合

未開啟使用自訂規則目錄時,將使用預設規則。

子目錄

需要掃描的代碼所在目錄,如果不設定則預設使用程式碼程式庫的根路徑。

排除子目錄

需要被排除在掃描範圍之外的目錄或檔案,可參考gitignore配置,例如設定test/,表示排除掃描test/目錄下所有檔案。

紅線資訊

設定代碼掃描成功判定的條件,支援從以下四個維度進行設定:

  • Total 問題數

  • Bloker 問題數

  • Critical 問題數

  • Major 問題數

Maven 單元測試專屬參數說明

參數

說明

執行命令

需自訂Maven單元測試命令。

測試報告檔案路徑

測試報告檔案路徑,必須指向一個檔案。該檔案所在目錄中的所有內容都會被一起上傳。例如 target/site/surefire-report.html

測試載入器

選擇測試載入器/架構,例如 Java-JUnit

步驟四:運行並查看目標流水線任務

  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!