本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建置和測試動作 YAML
以下是建置和測試動作YAML的定義。有兩個動作有一個參考,因為其YAML屬性非常相似。
此動作定義以區段的形式存在更廣泛的工作流程定義檔案中。如需有關此檔案的詳細資訊,請參閱工作流程YAML定義。
選擇下列程式碼中的YAML屬性,以查看是否有描述。
注意
下列大部分YAML屬性在視覺效果編輯器中都有對應的 UI 元素。若要查詢 UI 元素,請使用 Ctrl+F 。 元素會與其相關聯的YAML屬性一起列出。
# The workflow definition starts here.
# See 頂層屬性 for details.
Name: MyWorkflow
SchemaVersion: 1.0
Actions:
# The action definition starts here.
action-name
:
Identifier: aws/build@v1 | aws/managed-test@v1
DependsOn:
- dependent-action-name-1
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Caching:
FileCaching:
key-name-1:
Path: file1.txt
RestoreKeys:
- restore-key-1
Inputs:
Sources:
- source-name-1
- source-name-2
Artifacts:
- artifact-name
Variables:
- Name: variable-name-1
Value: variable-value-1
- Name: variable-name-2
Value: variable-value-2
Outputs:
Artifacts:
- Name: output-artifact-1
Files:
- build-output/artifact-1.jar
- "build-output/build*"
- Name: output-artifact-2
Files:
- build-output/artifact-2.1.jar
- build-output/artifact-2.2.jar
Variables:
- variable-name-1
- variable-name-2
AutoDiscoverReports:
Enabled: true | false
ReportNamePrefix: AutoDiscovered
IncludePaths:
- "**/*"
ExcludePaths:
- node_modules/cdk/junit.xml
SuccessCriteria:
PassRate: percent
LineCoverage: percent
BranchCoverage: percent
Vulnerabilities:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisBug:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisSecurity:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisQuality:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisFinding:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
Reports:
report-name-1:
Format: format
IncludePaths:
- "*.xml"
ExcludePaths:
- report2.xml
- report3.xml
SuccessCriteria:
PassRate: percent
LineCoverage: percent
BranchCoverage: percent
Vulnerabilities:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisBug:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisSecurity:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisQuality:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
StaticAnalysisFinding:
Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL
Number: whole-number
Configuration:
Container:
Registry: registry
Image: image
Steps:
- Run: "step 1"
- Run: "step 2"
Packages:
NpmConfiguration:
PackageRegistries:
- PackagesRepository: package-repository
Scopes:
- "@scope"
ExportAuthorizationToken: true | false
action-name
(必要)
指定動作的名稱。工作流程中的所有動作名稱都必須是唯一的。動作名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您不能使用引號在動作名稱中啟用特殊字元和空格。
對應的 UI:組態索引標籤/動作名稱
Identifier
(action-name
/Identifier)
識別 動作。除非您想要變更版本,否則請勿變更此屬性。如需詳細資訊,請參閱指定要使用的動作版本。
aws/build@v1
用於建置動作。
aws/managed-test@v1
用於測試動作。
對應的 UI:工作流程圖表/Action-name/aws/build@v1|aws/managed-test@v1
label
DependsOn
(action-name
/DependsOn)
(選用)
指定必須成功執行的動作、動作群組或閘道,才能執行此動作。
如需 'depends on' 功能的詳細資訊,請參閱 定序動作。
對應的 UI:輸入索引標籤/取決於 - 選用
Compute
(action-name
/Compute)
(選用)
用來執行工作流程動作的運算引擎。您可以在工作流程層級或動作層級指定運算,但不能同時指定兩者。在工作流程層級指定時,運算組態會套用至工作流程中定義的所有動作。在工作流程層級,您也可以在同一執行個體上執行多個動作。如需詳細資訊,請參閱跨動作共用運算。
對應的 UI:無
Type
(action-name
/Compute/類型 )
(如果Compute包含 則為必填)
運算引擎的類型。您可以使用下列其中一個值:
-
EC2 (視覺編輯器) 或
EC2
(YAML 編輯器)已針對動作執行期間的彈性進行最佳化。
-
Lambda (視覺編輯器) 或
Lambda
(YAML 編輯器)最佳化的動作啟動速度。
如需運算類型的更多相關資訊,請參閱運算類型。
對應的 UI:組態索引標籤/運算類型
Fleet
(action-name
/Compute/Fleet)
(選用)
指定將執行工作流程或工作流程動作的機器或機群。使用隨需機群時,當動作開始時,工作流程會佈建所需的資源,並在動作完成時銷毀機器。隨需機群範例:Linux.x86-64.Large
、Linux.x86-64.XLarge
。如需隨需機群的詳細資訊,請參閱 隨需機群屬性。
使用佈建機群,您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態,準備好立即處理動作。如需佈建機群的詳細資訊,請參閱 佈建的機群屬性。
Fleet
如果 省略,則預設值為 Linux.x86-64.Large
。
對應的 UI:組態索引標籤/運算機群
Timeout
(action-name
/Timeout)
(選用)
以分鐘 (YAML 編輯器) 或小時和分鐘 (視覺編輯器) 指定動作 CodeCatalyst 在結束動作之前可執行的時間量。最小值為 5 分鐘,最大值如 中所述中的工作流程配額 CodeCatalyst。預設逾時與最大逾時相同。
對應的 UI:組態索引標籤/逾時 - 選用
Environment
(action-name
/Environment)
(選用)
指定要與 動作搭配使用 CodeCatalyst 的環境。動作會連線至所選環境中VPC指定的 AWS 帳戶 和選用 Amazon。此動作會使用環境中指定的預設IAM角色來連線至 AWS 帳戶,並使用 Amazon VPC連線中指定的IAM角色來連線至 Amazon VPC。
注意
如果預設IAM角色沒有 動作所需的許可,您可以將動作設定為使用不同的角色。如需詳細資訊,請參閱變更動作IAM的角色。
如需環境的詳細資訊,請參閱 部署至 AWS 帳戶 和 VPCs和 建立環境。
對應的 UI:組態索引標籤/環境
Name
(action-name
/Environment/Name)
(選用)
指定您要與動作建立關聯的現有環境名稱。
對應的 UI:組態索引標籤/環境
Connections
(action-name
/Environment/Connections)
(選用)
指定要與動作建立關聯的帳戶連線。您可以在 下指定最多一個帳戶連線Environment
。
如果您未指定帳戶連線:
-
此動作會使用 CodeCatalyst 主控台中環境中指定的 AWS 帳戶 連線和預設IAM角色。如需將帳戶連線和預設IAM角色新增至環境的相關資訊,請參閱 建立環境。
-
預設IAM角色必須包含 動作所需的政策和許可。若要判斷這些政策和許可是什麼,請參閱動作YAML定義文件中角色屬性的說明。
如需帳戶連線的詳細資訊,請參閱 允許存取已連線 AWS 的資源 AWS 帳戶。如需有關將帳戶連線新增至環境的資訊,請參閱 建立環境。
對應的 UI: 中的組態 tab/Environment/What's my-environment
?/三個點選單/切換角色
Name
(action-name
/Environment/Connections/Name)
(如果Connections包含 則為必填)
指定帳戶連線的名稱。
對應的 UI: 中的組態 tab/Environment/What's my-environment
?/三個點選單/切換角色
Role
(action-name
/Environment/Connections/Role)
(如果Connections包含 則為必填)
指定此動作用於存取和操作 Amazon S3 和 Amazon 等 AWS 服務IAM的角色名稱ECR。請確定此角色已新增至您 AWS 帳戶 空間中的連線。若要將IAM角色新增至帳戶連線,請參閱 將IAM角色新增至帳戶連線。
如果您未指定IAM角色,則動作會使用 CodeCatalyst 主控台中環境中列出的預設IAM角色。如果您在 環境中使用預設角色,請確定其具有下列政策。
注意
您可以搭配此動作使用 CodeCatalystWorkflowDevelopmentRole-
角色。如需有關此角色的詳細資訊,請參閱 為您的帳戶和空間建立CodeCatalystWorkflowDevelopmentRole-spaceName角色。了解該spaceName
CodeCatalystWorkflowDevelopmentRole-
角色具有可能造成安全風險的完整存取許可。我們建議您僅在安全性較少的教學課程和案例中使用此角色。spaceName
警告
將許可限制為建置和測試動作所需的許可。使用具有更廣泛許可的角色可能會帶來安全風險。
對應的 UI: 中的組態 tab/Environment/What's my-environment
?/三個點選單/切換角色
Caching
(action-name
/Caching)
(選用)
您可以在此區段指定快取,以儲存磁碟上檔案,並在後續工作流程執行中從該快取還原這些檔案。
如需檔案快取的詳細資訊,請參閱 在工作流程執行間快取檔。
對應的 UI:組態索引標籤/檔案快取 - 選用
FileCaching
(action-name
/Caching/FileCaching)
(選用)
指定快取序列組態的區段。
對應的 UI:組態索引標籤/檔案快取 - 選用/新增快取
key-name-1
(action-name
/Caching/FileCaching/key-name-1
)
(選用)
指定主要快取屬性名稱的名稱。快取屬性名稱在工作流程中必須是唯一的。每個動作在 中最多可以有五個項目FileCaching
。
對應的 UI:組態tab/File caching - optional/Add快取/金鑰
Path
(action-name
/Caching/FileCaching/key-name-1
/Path)
(選用)
指定快取的關聯路徑。
對應的 UI:組態tab/File caching - optional/Add快取/路徑
RestoreKeys
(action-name
/Caching/FileCaching/key-name-1
/RestoreKeys)
(選用)
在找不到主要快取屬性時,指定要用作遞迴的還原金鑰。還原金鑰名稱在工作流程中必須是唯一的。每個快取在 中最多可以有五個項目RestoreKeys
。
對應的 UI:組態tab/File caching - optional/Add快取/還原金鑰 - 選用
Inputs
(action-name
/Inputs)
(選用)
Inputs
本節定義在工作流程執行期間動作所需的資料。
注意
每個建置動作或測試動作最多允許四個輸入 (一個來源和三個成品)。變數不會計入此總計。
如果您需要參考位於不同輸入中的檔案 (例如來源和成品),則來源輸入是主要輸入,而成品是次要輸入。對次要輸入中檔案的參考需要特殊的字首,才能將其從主要輸入中消除。如需詳細資訊,請參閱 範例:參考多個成品中的檔案。
對應的 UI:輸入索引標籤
Sources
(action-name
/Inputs/Sources)
(選用)
指定代表動作所需來源儲存庫的標籤。目前,唯一支援的標籤是 WorkflowSource
,代表儲存工作流程定義檔案的來源儲存庫。
如果省略來源,則必須在 下指定至少一個輸入成品
。action-name
/Inputs/Artifacts
如需來源的詳細資訊,請參閱 將來源儲存庫連線至工作流程。
對應的 UI:無
Artifacts - input
(action-name
/Inputs/Artifacts)
(選用)
指定您要提供作為此動作輸入之先前動作的成品。這些成品必須已在先前的動作中定義為輸出成品。
如果您未指定任何輸入成品,則必須在 下指定至少一個來源儲存庫
。action-name
/Inputs/Sources
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
注意
如果偽影 - 選用下拉式清單無法使用 (視覺編輯器),或者您在驗證 YAML(YAML 編輯器時遇到錯誤),可能是因為動作僅支援一個輸入。在此情況下,請嘗試移除來源輸入。
對應的 UI:輸入索引標籤/文章 - 選用
Variables - input
(action-name
/Inputs/Variables)
(選用)
指定名稱/值對的序列,以定義您要提供給動作的輸入變數。變數名稱限制為英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您不能使用引號在變數名稱中啟用特殊字元和空格。
如需變數的詳細資訊,包括範例,請參閱 在工作流程中使用變數。
對應的 UI:輸入索引標籤/變數 - 選用
Outputs
(action-name
/Outputs)
(選用)
定義 動作在工作流程執行期間輸出的資料。
對應的 UI:輸出索引標籤
Artifacts - output
(action-name
/Outputs/Artifacts)
(選用)
指定動作產生的成品名稱。假影名稱在工作流程中必須是唯一的,且僅限於英數字元 (a-z、A-Z、0-9) 和底線 (_)。不允許使用空格、連字號 (-) 和其他特殊字元。您不能使用引號在輸出成品名稱中啟用空格、連字號和其他特殊字元。
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
對應的 UI:輸出索引標籤/文章
Name
(action-name
/Outputs/Artifacts/Name)
(如果Artifacts - output包含 則為必填)
指定動作產生的成品名稱。假影名稱在工作流程中必須是唯一的,且僅限於英數字元 (a-z、A-Z、0-9) 和底線 (_)。不允許使用空格、連字號 (-) 和其他特殊字元。您不能使用引號在輸出成品名稱中啟用空格、連字號和其他特殊字元。
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
對應的 UI:輸出tab/Artifacts/New輸出/建置成品名稱
Files
(action-name
/Outputs/Artifacts/Files)
(如果Artifacts - output包含 則為必填)
指定 動作輸出的成品中 CodeCatalyst 包含的檔案。這些檔案在執行時由工作流程動作產生,並且也可在您的來源儲存庫中使用。檔案路徑可以位於來源儲存庫中或先前動作的成品中,並與來源儲存庫或成品根相關。您可以使用 glob 模式來指定路徑。範例:
-
若要指定建置位置或來源儲存庫位置根中的單一檔案,請使用
my-file.jar
。 -
若要在子目錄中指定單一檔案,請使用
directory/my-file.jar
或directory/subdirectory/my-file.jar
。 -
若要指定所有檔案,請使用
"**/*"
。**
全域模式表示 符合任何數量的子目錄。 -
若要在名為 的目錄中指定所有檔案和目錄
directory
,請使用"directory/**/*"
。**
全域模式表示 符合任何數量的子目錄。 -
若要指定名為 的目錄中的所有檔案
directory
,但不是其任何子目錄,請使用"directory/*"
。
注意
如果您的檔案路徑包含一或多個星號 (*
) 或其他特殊字元,請使用雙引號 () 括住路徑""
。如需特殊字元的詳細資訊,請參閱 語法準則和慣例。
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
注意
您可能需要在檔案路徑中新增字首,以指出要尋找該路徑的成品或來源。如需詳細資訊,請參閱 參考來源儲存庫檔案 和 參考人工因素中的檔案。
對應的 UI:輸出建置產生的tab/Artifacts/New輸出/檔案
Variables - output
(action-name
/Outputs/Variables)
(選用)
指定要匯出動作的變數,以便可供後續動作使用。
如需變數的詳細資訊,包括範例,請參閱 在工作流程中使用變數。
對應的 UI:輸出索引標籤/變數/新增變數
variable-name-1
(action-name
/Outputs/Variables/variable-name-1
)
(選用)
指定您要動作匯出的變數名稱。此變數必須已在相同動作的 Inputs
或 Steps
區段中定義。
如需變數的詳細資訊,包括範例,請參閱 在工作流程中使用變數。
對應的 UI:輸出tab/Variables/Add變數/名稱
AutoDiscoverReports
(action-name
/Outputs/AutoDiscoverReports)
(選用)
定義自動探索功能的組態。
當您啟用自動探索時, CodeCatalyst 搜尋所有Inputs
傳入動作,以及動作本身產生的所有檔案,尋找測試、程式碼涵蓋範圍和軟體組成分析 (SCA) 報告。對於找到的每個報告, 會將報告 CodeCatalyst 轉換為 CodeCatalyst 報告。CodeCatalyst 報告是完全整合到 CodeCatalyst 服務中的報告,可以透過 CodeCatalyst 主控台檢視和操作。
注意
根據預設,自動探索功能會檢查所有檔案。您可以使用 IncludePaths或 ExcludePaths 屬性限制要檢查的檔案。
對應的 UI:輸出索引標籤/報告/自動探索報告
Enabled
(action-name
/Outputs/AutoDiscoverReports/Enabled)
(選用)
啟用或停用自動探索功能。
有效值為 true
或 false
。
Enabled
如果 省略,則預設值為 true
。
對應的 UI:輸出索引標籤/報告/自動探索報告
ReportNamePrefix
(action-name
/Outputs/AutoDiscoverReports/ReportNamePrefix)
(如果AutoDiscoverReports包含並啟用,則為必填)
指定 CodeCatalyst 前綴,以附加至其找到的所有報告,以命名其關聯的 CodeCatalyst 報告。例如,如果您指定 的字首AutoDiscovered
,並 CodeCatalyst自動探索兩個測試報告TestSuiteOne.xml
和 TestSuiteTwo.xml
,則相關聯的 CodeCatalyst 報告將命名為 AutoDiscoveredTestSuiteOne
和 AutoDiscoveredTestSuiteTwo
。
對應的 UI:輸出索引標籤/報告/字首名稱
IncludePaths
(action-name
/Outputs/AutoDiscoverReports/IncludePaths)
或
(action-name
/Outputs/Reports/report-name-1
/IncludePaths)
(如果 AutoDiscoverReports包含並啟用,或如果 Reports 包含 則為必要)
指定搜尋原始報告時 CodeCatalyst 包含的檔案和檔案路徑。例如,如果您指定 "/test/report/*"
, 會 CodeCatalyst 搜尋尋找/test/report/*
目錄的動作所使用的整個建置映像。當它找到該目錄時, CodeCatalyst 然後尋找該目錄中的報告。
注意
如果您的檔案路徑包含一或多個星號 (*
) 或其他特殊字元,請使用雙引號 () 括住路徑""
。如需特殊字元的詳細資訊,請參閱 語法準則和慣例。
如果省略此屬性,則預設值為 "**/*"
,表示搜尋包含所有路徑的所有檔案。
注意
對於手動設定的報告, IncludePaths
必須是符合單一檔案的 glob 模式。
對應的 UI:
-
輸出tab/Reports/Auto-discover reports/Include/exclude路徑/包含路徑
-
輸出tab/Reports/Manually設定報告/
report-name-1
/包含/排除路徑/包含路徑
ExcludePaths
(action-name
/Outputs/AutoDiscoverReports/ExcludePaths)
或
(action-name
/Outputs/Reports/report-name-1
/ExcludePaths)
(選用)
指定在搜尋原始報告時 CodeCatalyst 排除的檔案和檔案路徑。例如,如果您指定 "/test/my-reports/**/*"
, CodeCatalyst 將不會搜尋/test/my-reports/
目錄中的檔案。若要忽略目錄中的所有檔案,請使用 **/*
glob 模式。
注意
如果您的檔案路徑包含一或多個星號 (*
) 或其他特殊字元,請使用雙引號 () 括住路徑""
。如需特殊字元的詳細資訊,請參閱 語法準則和慣例。
對應的 UI:
-
輸出tab/Reports/Auto-discover reports/Include/exclude路徑/排除路徑
-
輸出tab/Reports/Manually設定報告/
report-name-1
/包含/排除路徑/排除路徑
SuccessCriteria
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria)
(選用)
指定測試、程式碼涵蓋範圍、軟體組成分析 (SCA) 和靜態分析 (SA) 報告的成功條件。
如需詳細資訊,請參閱設定報告的成功條件。
對應的 UI:輸出索引標籤/報告/成功條件
PassRate
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/PassRate)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/PassRate)
(選用)
指定測試報告中必須傳遞的測試百分比,相關 CodeCatalyst報告才能標記為已傳遞。有效值包括小數。例如:50
、60.5
。通過率條件僅適用於測試報告。如需測試報告的詳細資訊,請參閱 測試報告。
對應的 UI:輸出tab/Reports/Success條件/通過率
LineCoverage
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/LineCoverage)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/LineCoverage)
(選用)
指定程式碼涵蓋範圍報告中必須涵蓋的行百分比,以便將關聯 CodeCatalyst 報告標記為已傳遞。有效值包括小數。例如:50
、60.5
。明細涵蓋範圍條件僅適用於程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊,請參閱 程式碼涵蓋範圍報告。
對應的 UI:輸出tab/Reports/Success條件/線路涵蓋範圍
BranchCoverage
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/BranchCoverage)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/BranchCoverage)
(選用)
在程式碼涵蓋範圍報告中指定必須涵蓋的分支百分比,以便將關聯的 CodeCatalyst 報告標記為已傳遞。有效值包括小數。例如:50
、60.5
。分支涵蓋範圍條件僅適用於程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊,請參閱 程式碼涵蓋範圍報告。
對應的 UI:輸出tab/Reports/Success條件/分支涵蓋範圍
Vulnerabilities
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/Vulnerabilities)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/Vulnerabilities)
(選用)
指定相關SCA報告標記為已傳遞的 CodeCatalyst 報告中允許的漏洞數量和嚴重性上限。若要指定漏洞,您必須指定:
-
您要包含在計數中的漏洞的最低嚴重性。有效值,從最嚴重到最不嚴重,為:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您選擇
HIGH
,則HIGH
和CRITICAL
漏洞將會計算總和。 -
您想要允許之指定嚴重性的漏洞數目上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
漏洞條件只會套用至SCA報告。如需SCA報告的詳細資訊,請參閱 軟體組成分析報告。
若要指定最低嚴重性,請使用 Severity
屬性。若要指定漏洞數量上限,請使用 Number
屬性。
對應的 UI:輸出tab/Reports/Success條件/漏洞
StaticAnalysisBug
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisBug)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/StaticAnalysisBug)
(選用)
指定 SA 報告中允許將關聯 CodeCatalyst 報告標記為已傳遞的錯誤數目和嚴重性上限。若要指定錯誤,您必須指定:
-
您要包含在計數中的錯誤的最低嚴重性。有效值,從最嚴重到最不嚴重,為:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您選擇
HIGH
,則HIGH
和CRITICAL
錯誤將會計算總和。 -
您想要允許之指定嚴重性的錯誤數目上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
Bugs 條件僅適用於 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
若要指定最低嚴重性,請使用 Severity
屬性。若要指定漏洞數量上限,請使用 Number
屬性。
對應的 UI:輸出tab/Reports/Success條件/錯誤
StaticAnalysisSecurity
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisSecurity)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/StaticAnalysisSecurity)
(選用)
指定 SA 報告中允許將關聯 CodeCatalyst 報告標記為已傳遞的安全漏洞數量和嚴重性上限。若要指定安全漏洞,您必須指定:
-
您要包含在計數中的安全漏洞的最低嚴重性。有效值,從最嚴重到最不嚴重,為:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您選擇
HIGH
,則HIGH
和CRITICAL
安全漏洞將會計算總和。 -
您想要允許之指定嚴重性的安全漏洞數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
安全漏洞條件僅適用於 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
若要指定最低嚴重性,請使用 Severity
屬性。若要指定漏洞數量上限,請使用 Number
屬性。
對應的 UI:輸出tab/Reports/Success條件/安全漏洞
StaticAnalysisQuality
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisQuality)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/StaticAnalysisQuality)
(選用)
指定 SA 報告中允許將關聯 CodeCatalyst 報告標記為已傳遞的品質問題數量和嚴重性上限。若要指定品質問題,您必須指定:
-
您要包含在計數中的品質問題的最低嚴重性。有效值,從最嚴重到最不嚴重,為:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您選擇
HIGH
,則HIGH
和CRITICAL
品質問題將會計算總和。 -
您想要允許之指定嚴重性的品質問題數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
品質問題條件僅適用於 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
若要指定最低嚴重性,請使用 Severity
屬性。若要指定漏洞數量上限,請使用 Number
屬性。
對應的 UI:輸出tab/Reports/Success條件/品質問題
StaticAnalysisFinding
(action-name
/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisFinding)
或
(action-name
/Outputs/Reports/report-name-1
/SuccessCriteria/StaticAnalysisFinding)
(選用)
指定 SA 報告中允許將關聯 CodeCatalyst 報告標記為已傳遞的調查結果數量和嚴重性上限。若要指定調查結果,您必須指定:
-
您要包含在計數中的調查結果的最低嚴重性。有效值,從最嚴重到最不嚴重,為:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您選擇
HIGH
,則HIGH
和CRITICAL
調查結果將會計算高度。 -
您想要允許之指定嚴重性的調查結果數目上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
調查結果只會套用至 SARIF SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
若要指定最低嚴重性,請使用 Severity
屬性。若要指定漏洞數量上限,請使用 Number
屬性。
對應的 UI:輸出tab/Reports/Success條件/調查結果
Reports
(action-name
/Outputs/Reports )
(選用)
指定測試報告組態的區段。
對應的 UI:輸出索引標籤/報告
report-name-1
(action-name
/Outputs/Reports/report-name-1 )
(如果Reports包含 則為必填)
您要提供給原始 CodeCatalyst 報告產生的報告的名稱。
對應的 UI:輸出tab/Reports/Manually設定報告/報告名稱
Format
(action-name
/Outputs/Reports/report-name-1
/Format)
(如果Reports包含 則為必填)
指定您要用於報告的檔案格式。可能的值如下。
-
對於測試報告:
-
針對小黃瓜 JSON,指定小黃瓜 (視覺編輯器) 或
CUCUMBERJSON
(YAML 編輯器)。 -
對於 JUnit XML,請指定 JUnit(視覺編輯器) 或
JUNITXML
(YAML 編輯器)。 -
對於 NUnit XML,請指定 NUnit(視覺編輯器) 或
NUNITXML
(YAML 編輯器)。 -
對於 NUnit 3 XML,請指定 NUnit3(視覺編輯器) 或
NUNIT3XML
(YAML 編輯器)。 -
針對 Visual Studio TRX,指定 Visual Studio TRX (視覺編輯器) 或
VISUALSTUDIOTRX
(YAML 編輯器)。 -
對於 TestNG XML,指定 TestNG (視覺編輯器) 或
TESTNGXML
(YAML 編輯器)。
-
-
對於程式碼涵蓋範圍報告:
-
對於 Clover XML,指定 Clover (視覺編輯器) 或
CLOVERXML
(YAML 編輯器)。 -
對於 Cobertura XML,指定 Cobertura (視覺編輯器) 或
COBERTURAXML
(YAML 編輯器)。 -
對於 JaCoCo XML,請指定 JaCoCo(視覺編輯器) 或
JACOCOXML
(YAML 編輯器)。 -
對於 SimpleCov JSON Simplecov
產生的 ,而不是 Simplecov-json ,請指定 Simplecov (視覺編輯器) 或 SIMPLECOV
(YAML 編輯器)。
-
-
對於軟體撰寫分析 (SCA) 報告:
-
對於 SARIF,請指定 SARIF(視覺編輯器) 或
SARIFSCA
(YAML 編輯器)。
-
對應的 UI:輸出tab/Reports/Manually configure reports/Add/configure報告/report-name-1
/報告類型和報告格式
Configuration
(action-name
/Configuration)
(必要) 您可以在其中定義動作組態屬性的區段。
對應的 UI:組態索引標籤
Container
(action-name
/Configuration/Container)
(選用)
指定動作用來完成其處理的 Docker 映像或容器 。您可以指定 隨附的其中一個作用中映像 CodeCatalyst,也可以使用您自己的映像。如果您選擇使用自己的映像,它可以駐留在 Amazon ECR、Docker Hub 或其他登錄檔中。如果您未指定 Docker 映像,動作會使用其中一個作用中映像進行處理。如需預設使用哪些作用中映像的相關資訊,請參閱 作用中影像。
如需指定您自己的 Docker 映像的詳細資訊,請參閱 將自訂執行階段環境 Docker 影像指派給動作。
對應的 UI:執行期環境 Docker 映像 - 選用
Registry
(action-name
/Configuration/Container/Registry)
(如果Container
包含 則為必填)
指定儲存映像的登錄檔。有效值包含:
-
CODECATALYST
(YAML 編輯器)映像會儲存在 CodeCatalyst 登錄檔中。
-
Docker Hub (視覺編輯器) 或
DockerHub
(YAML 編輯器)映像會儲存在 Docker Hub 映像登錄檔中。
-
其他登錄檔 (視覺編輯器) 或
Other
(YAML 編輯器)映像會儲存在自訂映像登錄檔中。可以使用任何公開可用的登錄檔。
-
Amazon Elastic Container Registry (視覺編輯器) 或
ECR
(YAML 編輯器)映像會儲存在 Amazon Elastic Container Registry 映像儲存庫中。若要在 Amazon ECR儲存庫中使用映像,此動作需要存取 Amazon ECR。若要啟用此存取權,您必須建立包含下列許可和自訂信任政策IAM的角色。(如果您想要,可以修改現有角色以包含許可和政策。)
IAM 角色必須在其角色政策中包含下列許可:
-
ecr:BatchCheckLayerAvailability
-
ecr:BatchGetImage
-
ecr:GetAuthorizationToken
-
ecr:GetDownloadUrlForLayer
IAM 角色必須包含下列自訂信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
如需建立IAM角色的詳細資訊,請參閱 IAM 使用者指南 中的使用自訂信任政策 (主控台) 建立角色。
建立角色後,您必須透過環境將其指派給動作。如需詳細資訊,請參閱將環境與 動作建立關聯。
-
對應的 UI:Amazon Elastic Container Registry、Docker Hub 和其他登錄選項
Image
(action-name
/Configuration/Container/Image)
(如果Container
包含 則為必填)
請指定下列其中一項:
-
如果您使用
CODECATALYST
登錄檔,請將映像設定為下列其中一個作用中映像:-
CodeCatalystLinux_x86_64:2024_03
-
CodeCatalystLinux_x86_64:2022_11
-
CodeCatalystLinux_Arm64:2024_03
-
CodeCatalystLinux_Arm64:2022_11
-
CodeCatalystLinuxLambda_x86_64:2024_03
-
CodeCatalystLinuxLambda_x86_64:2022_11
-
CodeCatalystLinuxLambda_Arm64:2024_03
-
CodeCatalystLinuxLambda_Arm64:2022_11
-
CodeCatalystWindows_x86_64:2022_11
-
-
如果您使用 Docker Hub 登錄檔,請將映像設定為 Docker Hub 映像名稱和選用標籤。
範例:
postgres:latest
-
如果您使用 Amazon ECR登錄檔,請將映像設定為 Amazon ECR登錄檔 URI。
範例:
111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo
-
如果您使用自訂登錄檔,請將映像設定為自訂登錄檔預期的值。
對應的 UI:執行期環境Docker 映像 (如果登錄檔為 CODECATALYST
)、Docker Hub 映像 (如果登錄檔為 Docker Hub )、ECR映像 URL (如果登錄檔為 Amazon Elastic Container Registry ) 和映像 URL (如果登錄檔為其他登錄檔 )。
Steps
(action-name
/Configuration/Steps)
(必要)
指定要在 動作期間執行的 Shell 命令,以安裝、設定和執行建置工具。
以下是如何建置 npm 專案的範例:
Steps:
- Run: npm install
- Run: npm run build
以下是如何指定檔案路徑的範例:
Steps:
- Run: cd $ACTION_BUILD_SOURCE_PATH_WorkflowSource/app && cat file2.txt
- Run: cd $ACTION_BUILD_SOURCE_PATH_MyBuildArtifact/build-output/ && cat file.txt
如需指定檔案路徑的詳細資訊,請參閱 參考來源儲存庫檔案和 參考人工因素中的檔案。
對應的 UI:組態索引標籤/ Shell 命令
Packages
(action-name
/Configuration/Packages)
(選用)
您可以在此區段中指定 動作用來解決相依性的包裹儲存庫。套件可讓您安全地存放和共用用於應用程式開發的軟體套件。
如需套件的詳細資訊,請參閱 在 中發佈和共用軟體套件 CodeCatalyst。
對應的 UI:組態索引標籤/套件
NpmConfiguration
(action-name
/Configuration/Packages/NpmConfiguration)
(如果Packages包含 則為必填)
定義 npm 套件格式組態的區段。此組態在工作流程執行期間由 動作使用。
如需 npm 套件組態的詳細資訊,請參閱 使用 NPM。
對應的 UI:tab/Packages/Add組態/npm
PackageRegistries
(action-name
/Configuration/Packages/NpmConfiguration/PackageRegistries)
(如果Packages包含 則為必填)
您可以在此區段定義套件儲存庫序列的組態屬性。
對應的 UI:組態tab/Packages/Add configuration/npm/新增套件儲存庫
PackagesRepository
(action-name
/Configuration/Packages/NpmConfiguration/PackageRegistries/PackagesRepository)
(如果Packages包含 則為必填)
指定您要動作使用的 CodeCatalyst 套件儲存庫名稱。
如果您指定多個預設儲存庫,最後一個儲存庫將優先處理。
如需套件儲存庫的詳細資訊,請參閱 套件儲存庫。
對應的 UI:組態tab/Packages/Add configuration/npm/Add套件儲存庫/套件儲存庫
Scopes
(action-name
/Configuration/Packages/NpmConfiguration/PackageRegistries/Scopes)
(選用)
指定您要在套件登錄檔中定義的一系列範圍。定義範圍時,指定的套件儲存庫會設定為所有列出範圍的登錄檔。如果透過 npm 用戶端請求具有 範圍的套件,則會使用該儲存庫而非預設值。每個範圍名稱都必須以 "@" 開頭。
如果您包含覆寫範圍,最後一個儲存庫將優先處理。
如果 Scopes
省略,則指定的套件儲存庫會設定為動作使用的所有套件的預設登錄檔。
對應的 UI:組態tab/Packages/Add configuration/npm/Add套件儲存庫/範圍 - 選用
ExportAuthorizationToken
(action-name
/Configuration/Packages/ExportAuthorizationToken)
(選用)
啟用或停用匯出授權權杖功能。如果啟用,匯出的授權字符可用於手動設定套件管理員,以使用 CodeCatalyst 套件儲存庫進行身分驗證。您可以使用權杖作為可在動作中參考的環境變數。
有效值為 true
或 false
。
ExportAuthorizationToken
如果 省略,則預設值為 false
。
如需匯出授權權杖的詳細資訊,請參閱 在工作流程動作中使用授權權杖。
對應的 UI:組態索引標籤/套件/匯出授權權杖