流水線 Flow提供了一站式Java專案測試與構建解決方案,協助您快速配置CI/CD流水線,並實現自動化測試、代碼編譯、依賴管理、構建產物上傳等。本文為您介紹如何通過可視化介面配置Java · 測試、構建。
步驟一:建立測試構建流水線
-
登入流水線 Flow控制台,單擊右上方建立流水線。
-
在彈出的選擇流水線模板頁面,選擇Java · 測試、構建,並單擊建立。
步驟二:配置流水線源
-
在建立流水線的流程配置中,單擊流水線源階段的添加流水線源。
-
添加您的代碼源。本文使用雲效預置的
Java範例程式碼源,此處單擊添加即可。
步驟三:配置測試構建
Java · 測試、構建模板預置了Java 代碼掃描、Maven 單元測試和Java 構建上傳。它們的配置基本類似,本文以Java 構建上傳為例進行說明。在流程配置頁簽中,單擊構建階段的Java 構建上傳任務,進入任務配置。
Java 構建上傳配置詳情
-
配置基本參數。
參數
說明
任務名稱
您可自訂任務名稱,一般保持預設即可。
構建叢集
支援以下構建叢集:
構建環境
支援以下構建環境:
-
指定容器環境(雲效預設構建叢集):流水線 Flow在構建機器上啟動指定容器,在單容器環境進行構建。雲效提供官方常用鏡像供選擇使用、您也可以指定自己的鏡像作為運行環境。
-
預設VM環境(僅私人構建叢集支援):須選擇指定構建節點。流水線 Flow會直接在構建機器上安裝環境並執行任務,為了提升任務構建速度建議提前在構建機器上安裝好相應SDK和環境。
說明任務執行期間,流水線任務構建環境分配給使用者使用,構建環境的使用權歸屬使用者,任務執行指令碼由使用者自訂。
下載流水線源
開啟下載流水線源後,您配置的源檔案將會被下載至對應的工作目錄下。支援以下三種方式:
-
下載全部流水線源
-
不下載流水線源
-
下載部分流水線源
-
-
配置任務步驟。
指定容器環境/預設VM環境
-
安裝 Java
根據具體需求選擇JDK版本、Maven版本。在安裝 Java步驟中,將步驟名稱設定為 安裝 Java,JDK 版本選擇 JDK 1.8,Maven 版本選擇 Maven 3.5.2。
-
執行命令
執行命令為使用者自訂構建命令。支援多版本的Maven,命令執行目錄為程式碼程式庫根路徑。
例如填寫構建命令
mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip。下方可選擇是否指定運行Shell,並通過環境變數地區添加自訂環境變數。 -
構建物上傳
將構建產物上傳到製品倉庫 Packages統一管理
參數說明:
參數
說明
添加服務串連
單擊添加服務串連,根據介面提示建立流水線 Flow到製品倉庫 Packages的服務串連。更多資訊,請參見服務串連管理。
倉庫
添加服務串連後,可選擇Packages中的通用製品倉庫作為目標倉庫。
說明關於通用製品倉庫的更多資訊,請參見通用製品管理
製品名稱
用於區分多次構建產生的不同產出物,定義後在部署組件使用,建議使用動態變數形式設定。預設使用
Artifacts_${PIPELINE_ID}。您可自訂構建物的名稱(如target1)。製品版本
版本用於唯一標識您的製品檔案,因此同一製品不允許推送重複版本。建議使用動態變數形式,比如
${DATETIME}。打包路徑
設定起始位置為專案檔夾的相對路徑(如
target/),可以設定多個檔案路徑。製品中包含打包路徑的目錄
如果選中,則產生的壓縮包中,包含完整的打包路徑,否則僅包含檔案。當選擇了多個打包路徑時,該值自動化佈建為
true。
-
Java 代碼掃描專屬參數說明
|
參數 |
說明 |
|
開啟增量掃描模式 |
未開啟增量掃描模式時,將對全量代碼進行掃描。 |
|
使用自訂規則目錄 |
如果開啟,將使用您程式碼程式庫中的 |
|
規則集合 |
未開啟使用自訂規則目錄時,將使用預設規則。 |
|
子目錄 |
需要掃描的代碼所在目錄,如果不設定則預設使用程式碼程式庫的根路徑。 |
|
排除子目錄 |
需要被排除在掃描範圍之外的目錄或檔案,可參考 |
|
紅線資訊 |
設定代碼掃描成功判定的條件,支援從以下四個維度進行設定:
|
Maven 單元測試專屬參數說明
|
參數 |
說明 |
|
執行命令 |
需自訂Maven單元測試命令。 |
|
測試報告檔案路徑 |
測試報告檔案路徑,必須指向一個檔案。該檔案所在目錄中的所有內容都會被一起上傳。例如 |
|
測試載入器 |
選擇測試載入器/架構,例如 |
步驟四:運行並查看目標流水線任務
-
流程配置完成後,單擊頁面右上方儲存並運行,並在彈出的對話方塊中單擊運行,即可開始運行流水線任務。運行流水線後,可視化地區展示各階段的執行進度:流水線源階段拉取代碼倉庫,測試階段的Java 代碼掃描和Maven 單元測試任務並存執行,完成後構建階段的Java 構建上傳任務開始執行。
-
流水線任務完成後,在每個任務節點都會產生作業記錄,您可在相應任務節點,單擊日誌查看。例如查看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!