本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
生成和测试操作 YAML 定义
以下是生成和测试操作的 YAML 定义。两个操作只有一个参考文献,因为它们的 YAML 属性非常相似。
此操作定义作为一个部分存在于更广泛的工作流程定义文件中。有关此文件的更多信息,请参阅 工作流程 YAML 定义。
在以下代码中选择 YAML 属性以查看其描述。
注意
接下来的大多数 YAML 属性在可视化编辑器中都有相应的 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"
操作名称
(必需)
指定操作的名称。所有操作名称在工作流程中必须是唯一的。操作名称仅限于字母数字字符(a-z、A-Z、0-9)、连字符 (-) 和下划线 (_)。不允许使用空格。不能使用引号在操作名称中启用特殊字符和空格。
对应的 UI:“配置” 选项卡/ 操作名称
Identifier
(操作名称
/Identifier)
标识操作。除非要更改版本,否则不要更改此属性。有关更多信息,请参阅 指定操作的主版本、次要版本或补丁版本。
aws/build@v1
用于生成操作。
aws/managed-test@v1
用于测试操作。
对应的用户界面:工作流程图/操作名称/aws/build @v1 |aws/managed-test @v1 标签
DependsOn
(操作名称
/DependsOn)
(可选)
指定必须成功运行才能运行此操作的操作、操作组或门。
有关 “依赖” 功能的更多信息,请参阅。将操作配置为依赖于其他操作
对应的用户界面:“输入” 选项卡/ 依赖- 可选
Compute
(操作名称
/Compute)
(可选)
用于运行工作流程操作的计算引擎。您可以在工作流程级别或操作级别指定计算,但不能同时指定两者。在工作流级别指定时,计算配置将应用于工作流中定义的所有操作。在工作流程级别,您还可以在同一个实例上运行多个操作。有关更多信息,请参阅 跨操作共享计算。
对应的用户界面:无
Type
(操作名称/Compute/
类型)
(如果包含Compute,则为必填项)
计算引擎的类型。您可以使用以下值之一:
-
EC2(可视化编辑器)或
EC2
(YAML 编辑器)针对动作运行期间的灵活性进行了优化。
-
Lambda(可视化编辑器)或
Lambda
(YAML 编辑器)优化了动作启动速度。
有关计算类型的更多信息,请参阅计算类型。
对应的 UI:“配置” 选项卡/ “计算类型”
Fleet
(操作名称 /Compute/ Fleet
)
(可选)
指定将运行您的工作流程或工作流程操作的计算机或机群。对于按需队列,当操作开始时,工作流程会配置所需的资源,操作完成后计算机就会被销毁。按需车队的示例:Linux.x86-64.Large
,Linux.x86-64.XLarge
。有关按需队列的更多信息,请参阅按需车队房产。
使用已配置的队列,您可以配置一组专用计算机来运行您的工作流程操作。这些计算机处于闲置状态,可以立即处理操作。有关已配置队列的更多信息,请参阅。已配置的舰队属性
如果省略,Fleet
则默认为Linux.x86-64.Large
。
对应的 UI:“配置” 选项卡/ “计算舰队”
Timeout
(操作名称
/Timeout)
(可选)
指定操作在 CodeCatalyst 结束操作之前可以运行的时间(以分钟(YAML 编辑器)或小时和分钟(可视化编辑器)为单位。最小值为 5 分钟,最大值如中所述工作流程配额。默认超时与最大超时相同。
相应的 UI:“配置” 选项卡/ “超时”- 可选
Environment
(操作名称
/Environment)
(可选)
指定要用于操作的 CodeCatalyst 环境。
有关环境的更多信息,请参见部署到环境中的 VPC AWS 账户 和带有 CodeCatalyst环境的 VPC和创建环境。
对应的 UI:“配置” 选项卡/ 环境
Name
(操作名称 /Environment/ Name
)
(可选)
指定要与操作关联的现有环境的名称。
对应的 UI:“配置” 选项卡/ 环境名称
Connections
(操作名称 /Environment/ Connections
)
(可选)
指定要与操作关联的账户连接。您最多可以在下指定一个账户连接Environment
。
有关账户关联的更多信息,请参阅允许在已连接的情况下访问 AWS 资源 AWS 账户。有关如何将账户关联与您的环境关联的信息,请参阅创建环境。
对应的 UI:“配置” 选项卡/
Name
(操作名称 /Environment/Connections/ Name
)
(可选)
指定账户连接的名称。
对应的 UI:“配置” 选项卡/
Role
(操作名称 /Environment/Connections/ Role
)
(可选)
指定此操作用于访问和操作 Amazon S3 和 Amazon ECR 等 AWS 服务的 IAM 角色的名称。确保将此角色添加到您的账户关联中。要向账户连接添加 IAM 角色,请参阅向账户连接添加 IAM 角色。
注意
只要角色具有足够的权限,您就可以在此处指定该CodeCatalystWorkflowDevelopmentRole-
角色的名称。有关该角色的更多信息,请参阅 为您的账户和空间创建CodeCatalystWorkflowDevelopmentRole-spaceName角色。了解该spaceName
CodeCatalystWorkflowDevelopmentRole-
角色具有非常广泛的权限,这可能会带来安全风险。我们建议您仅在教程和安全性较低的场景中使用此角色。spaceName
警告
将权限限制为生成和测试操作所需的权限。使用具有更广泛权限的角色可能会带来安全风险。
对应的 UI:“配置” 选项卡/
Caching
(操作名称
/Caching)
(可选)
在此部分中,您可以指定缓存来保存磁盘上的文件,并在后续的工作流程运行中从该缓存中恢复这些文件。
有关文件缓存的更多信息,请参阅在工作流程运行之间缓存文件。
对应的用户界面:配置选项卡/ 文件缓存- 可选
FileCaching
(操作名称 /Caching/ FileCaching
)
(可选)
指定缓存序列配置的部分。
对应的用户界面:配置选项卡/文件缓存-可选/添加缓存
密钥名称-1
(操作名称/Caching/FileCaching/
1)密钥
名称-
(可选)
指定主缓存属性名称的名称。缓存属性名称在您的工作流程中必须是唯一的。每个操作中最多可以有五个条目FileCaching
。
相应的用户界面:配置选项卡/文件缓存-可选/添加缓存/密钥
Path
(操作名称/Caching/FileCaching/键名-名称
-1/)Path
(可选)
为您的缓存指定关联路径。
相应的 UI:配置选项卡/文件缓存-可选/添加缓存/ 路径
RestoreKeys
(操作名称/Caching/FileCaching/键名-名称
-1/)RestoreKeys
(可选)
指定在找不到主缓存属性时用作备用还原密钥。恢复密钥名称在您的工作流程中必须是唯一的。每个缓存中最多可以有五个条目RestoreKeys
。
相应的用户界面:配置选项卡/文件缓存-可选/添加缓存/还原密钥-可选
Inputs
(操作名称
/Inputs)
(可选)
该Inputs
部分定义了操作在工作流程运行期间所需的数据。
注意
每个构建操作或测试操作最多允许四个输入(一个源和三个工件)。变量不计入此总数。
如果您需要引用驻留在不同输入(比如源和构件)中的文件,则源输入是主输入,构件是辅助输入。辅助输入中对文件的引用采用特殊前缀,以区分主输入中的文件。有关更多信息,请参阅 示例:引用多个构件中的文件。
相应的 UI:“输入” 选项卡
Sources
(操作名称 /Inputs/ Sources
)
(可选)
指定代表操作所需的源存储库的标签。当前,唯一支持的标签是WorkflowSource
,它表示存储工作流程定义文件的源存储库。
如果省略源,则必须在下
方指定至少一个输入对象。action-name
/Inputs/Artifacts
更多有关来源的信息,请参阅 将工作流程连接到源存储库。
对应的用户界面:无
Artifacts - input
(操作名称 /Inputs/ Artifacts
)
(可选)
指定要作为此操作输入的先前操作中的对象。在之前的操作中,这些构件必须已定义为输出对象。
如果您未指定任何输入构件,则必须至少在下方指定一个源存储库
。action-name
/Inputs/Sources
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
注意
如果 Artifacts -可选下拉列表不可用(可视化编辑器),或者在验证 YAML(YAML 编辑器)时出现错误,则可能是因为该操作仅支持一个输入。在这种情况下,请尝试删除源输入。
相应的 UI:“输入” 选项卡/ 工件- 可选
Variables - input
(操作名称 /Inputs/ Variables
)
(可选)
指定一个名称/值对序列,这些对定义了要提供给操作的输入变量。变量名称仅限于字母数字字符(a-z、A-Z、0-9)、连字符 (-) 和下划线 (_)。不允许使用空格。不能使用引号在变量名中启用特殊字符和空格。
有关变量的更多信息(包括示例),请参阅在工作流程中配置和使用变量。
相应的 UI:“输入” 选项卡/ “变量”- 可选
Outputs
(操作名称
/Outputs)
(可选)
定义操作在工作流程运行期间输出的数据。
相应的 UI:“输出” 选项卡
Artifacts - output
(操作名称 /Outputs/ Artifacts
)
(可选)
指定操作生成的对象的名称。Artifact 名称在工作流程中必须是唯一的,并且仅限于字母数字字符(a-z、A-Z、0-9)和下划线 (_)。不允许使用空格、连字符 (-) 和其他特殊字符。不能使用引号在输出对象名称中启用空格、连字符和其他特殊字符。
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
相应的 UI:“输出” 选项卡/ 工件
Name
(操作名称 /Outputs/Artifacts/ Name
)
(如果包含Artifacts - output,则为必填项)
指定操作生成的对象的名称。Artifact 名称在工作流程中必须是唯一的,并且仅限于字母数字字符(a-z、A-Z、0-9)和下划线 (_)。不允许使用空格、连字符 (-) 和其他特殊字符。不能使用引号在输出对象名称中启用空格、连字符和其他特殊字符。
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
相应的 UI:“输出” 选项卡/构件/新建输出/构建构件名称
Files
(操作名称 /Outputs/Artifacts/ Files
)
(如果包含Artifacts - output,则为必填项)
指定操作输出的对象中 CodeCatalyst 包含的文件。这些文件由工作流程操作在运行时生成,也可在您的源存储库中找到。文件路径可以位于源存储库或先前操作中的对象中,并且是相对于源存储库或项目根目录的。你可以使用 glob 模式来指定路径。示例:
-
要指定位于构建位置或源存储库位置根目录中的单个文件,请使用
my-file.jar
。 -
要在子目录中指定单个文件,请使用
directory/my-file.jar
或directory/subdirectory/my-file.jar
。 -
要指定所有文件,请使用
"**/*"
。**
glob 模式表示匹配任意数量的子目录。 -
要指定名为
directory
的目录中的所有文件和目录,请使用"directory/**/*"
。**
glob 模式表示匹配任意数量的子目录。 -
要指定名为
directory
的目录中的所有文件,而非其任意子目录,请使用"directory/*"
。
注意
如果您的文件路径包含一个或多个星号 (*
) 或其他特殊字符,请用双引号 () 将路径括起来。""
有关特殊字符的更多信息,请参见语法指南和惯例。
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
注意
您可能需要在文件路径中添加前缀,以指明要在哪个工件或来源中找到它。有关更多信息,请参阅 引用源存储库中的文件 和 在构件中引用文件。
相应的用户界面:输出选项卡/构件/新输出/构建生成的文件
Variables - output
(操作名称 /Outputs/ Variables
)
(可选)
指定要导出操作的变量,以便后续操作可以使用这些变量。
有关变量的更多信息(包括示例),请参阅在工作流程中配置和使用变量。
相应的用户界面:“输出” 选项卡/变量/ 添加变量
变量名 1
(操作名称/Outputs/Variables/
1)变量
名称-
(可选)
指定要导出操作的变量的名称。此变量必须已经在同一操作的Inputs
或Steps
部分中定义。
有关变量的更多信息(包括示例),请参阅在工作流程中配置和使用变量。
相应的用户界面:“输出” 选项卡/变量/添加变量/名称
AutoDiscoverReports
(操作名称 /Outputs/ AutoDiscoverReports
)
(可选)
定义自动发现功能的配置。
启用自动发现后,会 CodeCatalyst 搜索操作中Inputs
传递的所有文件以及操作本身生成的所有文件,以查找测试、代码覆盖率和软件组合分析 (SCA) 报告。对于找到的每个报告,将其 CodeCatalyst 转换为 CodeCatalyst 报告。CodeCatalyst 报告是完全集成到 CodeCatalyst 服务中的报告,可以通过 CodeCatalyst 控制台查看和操作。
注意
默认情况下,自动发现功能会检查所有文件。您可以使用IncludePaths或ExcludePaths属性限制检查哪些文件。
相应的 UI:“输出” 选项卡/报告/自动发现报告
Enabled
(操作名称 /Outputs/AutoDiscoverReports/ Enabled
)
(可选)
启用或禁用自动发现功能。
有效值为 true
或 false
。
如果省略,Enabled
则默认为true
。
相应的 UI:“输出” 选项卡/报告/自动发现报告
ReportNamePrefix
(操作名称 /Outputs/AutoDiscoverReports/ ReportNamePrefix
)
(如果包含并启用AutoDiscoverReports,则为必填项)
为其找到的所有报告指定一个前缀,以便命名其关联 CodeCatalyst 的报告。 CodeCatalyst 例如,如果您将前缀指定为AutoDiscovered
,并 CodeCatalyst自动发现两个测试报告TestSuiteTwo.xml
,TestSuiteOne.xml
则关联 CodeCatalyst 的报告将命名为 AutoDiscoveredTestSuiteOne
and。AutoDiscoveredTestSuiteTwo
相应的 UI:“输出” 选项卡/报告/前缀名称
IncludePaths
(操作名称 /Outputs/AutoDiscoverReports/ IncludePaths
)
Or
(操作名称/Outputs/Reports/报告名称
-1/)IncludePaths
(如果AutoDiscoverReports包含并启用,或者包含在内,Reports则为必填项)
指定搜索原始报告时 CodeCatalyst 包含的文件和文件路径。例如,如果您指定"/test/report/*"
,则会在操作使用的整个构建映像中 CodeCatalyst 搜索该/test/report/*
目录。当它找到该目录时, CodeCatalyst 然后在该目录中查找报告。
注意
如果您的文件路径包含一个或多个星号 (*
) 或其他特殊字符,请用双引号 () 将路径括起来。""
有关特殊字符的更多信息,请参见语法指南和惯例。
如果省略此属性,则默认值为"**/*"
,这意味着搜索包括所有路径的所有文件。
注意
对于手动配置的报告,IncludePaths
必须是与单个文件匹配的 glob 模式。
相应的用户界面:
-
输出选项卡/报告/自动发现报告/包含/排除路径/包含路径
-
输出选项卡/报告/手动配置报告/报告名称-1 /包含/排除路径/包含路径
ExcludePaths
(操作名称 /Outputs/AutoDiscoverReports/ ExcludePaths
)
Or
(操作名称/Outputs/Reports/报告名称
-1/)ExcludePaths
(可选)
指定搜索原始报告时 CodeCatalyst 排除的文件和文件路径。例如,如果您指定"/test/my-reports/**/*"
,则 CodeCatalyst 不会在/test/my-reports/
目录中搜索文件。要忽略目录中的所有文件,请使用 **/*
glob 模式。
注意
如果您的文件路径包含一个或多个星号 (*
) 或其他特殊字符,请用双引号 () 将路径括起来。""
有关特殊字符的更多信息,请参见语法指南和惯例。
相应的用户界面:
-
输出选项卡/报告/自动发现报告/包含/排除路径/排除路径
-
输出选项卡/报告/手动配置报告/报告名称-1 /包含/排除路径/排除路径
SuccessCriteria
(操作名称 /Outputs/AutoDiscoverReports/ SuccessCriteria
)
Or
(操作名称/Outputs/Reports/报告名称
-1/)SuccessCriteria
(可选)
为测试、代码覆盖率、软件组合分析 (SCA) 和静态分析 (SA) 报告指定成功标准。
有关更多信息,请参阅 为报告配置成功标准。
相应的 UI:“输出” 选项卡/报告/成功标准
PassRate
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ PassRate
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/PassRate
名称-1
(可选)
指定测试报告中必须通过测试的百分比,关联 CodeCatalyst的报告才会被标记为通过。有效值包括十进制数字。例如,50
、60.5
。通过率标准仅适用于测试报告。有关测试报告的更多信息,请参阅测试报告。
相应的 UI:“输出” 选项卡/报告/成功标准/通过率
LineCoverage
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ LineCoverage
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/LineCoverage
名称-1
(可选)
指定代码覆盖率报告中必须覆盖的行数百分比,关联 CodeCatalyst 的报告才会被标记为通过。有效值包括十进制数字。例如,50
、60.5
。线路覆盖率标准仅适用于代码覆盖率报告。有关代码覆盖率报告的更多信息,请参阅代码覆盖率报告。
相应的用户界面:输出选项卡/报告/成功标准/行覆盖率
BranchCoverage
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ BranchCoverage
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/BranchCoverage
名称-1
(可选)
指定代码覆盖率报告中必须覆盖的分支百分比才能将关联 CodeCatalyst 报告标记为已通过。有效值包括十进制数字。例如,50
、60.5
。分支覆盖率标准仅适用于代码覆盖率报告。有关代码覆盖率报告的更多信息,请参阅代码覆盖率报告。
相应的用户界面:输出选项卡/报告/成功标准/分支覆盖率
Vulnerabilities
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ Vulnerabilities
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/Vulnerabilities
名称-1
(可选)
指定 SCA 报告中允许将关联 CodeCatalyst 报告标记为已通过的最大漏洞数量和严重性。要指定漏洞,必须指定:
-
要计入的漏洞的最低严重性。有效值(从最严重到最不严重)为:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您选择
HIGH
,则将对CRITICAL
漏洞HIGH
进行统计。 -
您希望允许的指定严重性的漏洞的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。
漏洞标准仅适用于 SCA 报告。有关 SCA 报告的更多信息,请参阅软件成分分析报告。
要指定最低严重性,请使用Severity
属性。要指定最大漏洞数,请使用Number
属性。
相应的 UI:“输出” 选项卡/报告/成功标准/漏洞
StaticAnalysisBug
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ StaticAnalysisBug
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/StaticAnalysisBug
名称-1
(可选)
指定 SA 报告中允许将关联 CodeCatalyst 报告标记为已通过的最大错误数量和严重性。要指定错误,必须指定:
-
您要计入的错误的最低严重程度。有效值(从最严重到最不严重)为:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您选择
HIGH
,则会HIGH
对CRITICAL
错误进行统计。 -
您希望允许的指定严重程度的错误的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。
错误标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告。
要指定最低严重性,请使用Severity
属性。要指定最大漏洞数,请使用Number
属性。
相应的 UI:“输出” 选项卡/报告/成功标准/错误
StaticAnalysisSecurity
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ StaticAnalysisSecurity
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/StaticAnalysisSecurity
名称-1
(可选)
指定 SA 报告中允许将关联 CodeCatalyst 报告标记为已通过的安全漏洞的最大数量和严重性。要指定安全漏洞,必须指定:
-
您要计入的安全漏洞的最低严重程度。有效值(从最严重到最不严重)为:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您选择
HIGH
,则将对HIGH
CRITICAL
安全漏洞进行统计。 -
您希望允许的指定严重性的安全漏洞的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。
安全漏洞标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告。
要指定最低严重性,请使用Severity
属性。要指定最大漏洞数,请使用Number
属性。
相应的 UI:“输出” 选项卡/报告/成功标准/安全漏洞
StaticAnalysisQuality
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ StaticAnalysisQuality
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/StaticAnalysisQuality
名称-1
(可选)
指定 SA 报告中允许将相关 CodeCatalyst 报告标记为已通过的最大质量问题数量和严重性。要指定质量问题,必须指定:
-
您要计入的质量问题的最低严重程度。有效值(从最严重到最不严重)为:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您选择
HIGH
HIGH
,则将统计CRITICAL
质量问题。 -
您希望允许的具有指定严重性的质量问题的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。
质量问题标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告。
要指定最低严重性,请使用Severity
属性。要指定最大漏洞数,请使用Number
属性。
相应的 UI:“输出” 选项卡/报告/成功标准/质量问题
StaticAnalysisFinding
(操作名称 /Outputs/AutoDiscoverReports/SuccessCriteria/ StaticAnalysisFinding
)
Or
(操作名称/Outputs/Reports/
)报告/SuccessCriteria/StaticAnalysisFinding
名称-1
(可选)
指定 SA 报告中允许将关联 CodeCatalyst 报告标记为已通过的最大结果数量和严重性。要指定调查结果,必须指定:
-
要计入计数的发现的最低严重程度。有效值(从最严重到最不严重)为:
CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。例如,如果您选择
HIGH
,则将HIGH
对CRITICAL
结果进行统计。 -
您希望允许的指定严重性的最大发现次数。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。
调查结果仅适用于SARIF SA报告。有关 SA 报告的更多信息,请参阅静态分析报告。
要指定最低严重性,请使用Severity
属性。要指定最大漏洞数,请使用Number
属性。
相应的 UI:“输出” 选项卡/报告/成功标准/调查结果
Reports
(操作名称 /Outputs/ Reports
)
(可选)
指定测试报告配置的部分。
相应的 UI:“输出” 选项卡/ “报告”
报告名称 1
(操作名称/Outputs/Reports/报告名称-1
)
(如果包含Reports,则为必填项)
您要为将从原始 CodeCatalyst 报告生成的报告命名。
相应的 UI:“输出” 选项卡/报告/手动配置报告/报告名称
Format
(操作名称/Outputs/Reports/报告名称
-1/)Format
(如果包含Reports,则为必填项)
指定您用于报告的文件格式。可能值如下所示。
-
对于测试报告:
-
对于 Cucumber JSON,请指定黄瓜(可视化编辑器)或
CUCUMBERJSON
(YAML 编辑器)。 -
对于 JUnit XML,请指定 JUnit(可视化编辑器)或
JUNITXML
(YAML 编辑器)。 -
对于 nUnit XML,请指定 nUni t(可视化编辑器)或
NUNITXML
(YAML 编辑器)。 -
对于 nUnit 3 XML,请指定 nUnit3(可视化编辑器)或
NUNIT3XML
(YAML 编辑器)。 -
对于 Visual Studio TRX,指定 Visual Studio TRX(可视化编辑器)或
VISUALSTUDIOTRX
(YAML 编辑器)。 -
对于 TestNG XML,请指定 te stNG(可视化编辑器)或
TESTNGXML
(YAML 编辑器)。
-
-
有关代码覆盖率报告:
-
对于 Clover XML,请指定 Clover(可视化编辑器)或
CLOVERXML
(YAML 编辑器)。 -
对于 Cobertura XML,请指定 Cobertura(可视化编辑器)或
COBERTURAXML
(YAML 编辑器)。 -
对于 JaCoCo XML,请指定 JaCoCo(可视化编辑器)或
JACOCOXML
(YAML 编辑器)。 -
对于由 s implecov
生成的 SimpleCov JSON,而不是 s implecov-json ,请指定 S implecov(可视化编辑器)或(YAML 编辑器)。 SIMPLECOV
-
-
对于软件组成分析 (SCA) 报告:
-
对于 SARIF,请指定 SARIF(可视化编辑器)或
SARIFSCA
(YAML 编辑器)。
-
相应的 UI:“输出” 选项卡/报告/手动配置报告/添加/配置报告/报告名称-1 /报告类型和报告格式
Configuration
(操作名称
/Configuration)
(必填)可以在其中定义操作配置属性的部分。
对应的 UI:“配置” 选项卡
Container
(操作名称 /Configuration/ Container
)
(可选)
指定操作用于完成其处理的 Docker 镜像或容器。您可以指定随附的活动图像之一 CodeCatalyst,也可以使用自己的图像。如果您选择使用自己的映像,则该映像可以存储在 Amazon ECR、Docker Hub 或其他注册表中。如果您未指定 Docker 镜像,则该操作将使用其中一个活动镜像进行处理。有关默认使用哪张活动图像的信息,请参见活跃的图像。
有关指定自己的 Docker 镜像的更多信息,请参阅为操作分配自定义运行时环境 Docker 镜像。
相应的 UI:运行时环境 Docker 镜像- 可选
Registry
(操作名称 /Configuration/Container/ Registry
)
(如果包含Container
,则为必填项)
指定存储图像的注册表。有效值包括:
-
CODECATALYST
(YAML 编辑器)图像存储在 CodeCatalyst 注册表中。
-
Docker Hub(可视化编辑器)或
DockerHub
(YAML 编辑器)镜像存储在 Docker Hub 镜像注册表中。
-
其他注册表(可视化编辑器)或
Other
(YAML 编辑器)图像存储在自定义图像注册表中。可以使用任何公开可用的注册表。
-
Amazon 弹性容器注册表(可视化编辑器)或
ECR
(YAML 编辑器)该图像存储在 Amazon 弹性容器注册表镜像存储库中。要使用 Amazon ECR 存储库中的图像,此操作需要访问亚马逊 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 角色的更多信息,请参阅 I A M 用户指南中的使用自定义信任策略(控制台)创建角色。
创建角色后,必须通过环境将其分配给操作。有关更多信息,请参阅 将环境、账户连接和 IAM 角色与工作流程操作关联。
-
相应的用户界面:亚马逊弹性容器注册表、Docker Hub 和其他注册表选项
Image
(操作名称 /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
-
如果您使用的是亚马逊 ECR 注册表,请将映像设置为亚马逊 ECR 注册表 URI。
例如:
111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo
-
如果您使用的是自定义注册表,请将映像设置为自定义注册表所期望的值。
相应的用户界面:运行时环境 docker 镜像(如果注册表是CODECATALYST
)、Docker Hub 镜像(如果注册表是 Docker Hub)、ECR 镜像 URL(如果注册表是亚马逊弹性容器注册表)和镜像 URL(如果注册表是其他注册表)。
Steps
(操作名称 /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
(操作名称 /Configuration/ Packages
)
(可选)
在此部分中,您可以指定操作用于解析依赖关系的包存储库。软件包允许您安全地存储和共享用于应用程序开发的软件包。
有关软件包的更多信息,请参阅在中发布和共享软件包 CodeCatalyst。
相应的 UI:“配置” 选项卡/ “包”
NpmConfiguration
(操作名称 /Configuration/Packages/ NpmConfiguration
)
(如果包含Packages,则为必填项)
定义 npm 包格式配置的部分。此配置由工作流程运行期间的操作使用。
有关 npm 软件包配置的更多信息,请参阅使用 npm。
对应的用户界面:配置选项卡/包/添加配置/npm
PackageRegistries
(操作名称 /Configuration/Packages/NpmConfiguration/ PackageRegistries
)
(如果包含Packages,则为必填项)
您可以在其中定义一系列软件包存储库的配置属性的部分。
相应的 UI:“配置” 选项卡/包/添加配置/npm/ 添加软件包存储库
PackagesRepository
(操作名称 /Configuration/Packages/NpmConfiguration/PackageRegistries/ PackagesRepository
)
(如果包含Packages,则为必填项)
指定您希望该操作使用的 CodeCatalyst 软件包存储库的名称。
如果您指定多个默认存储库,则最后一个存储库将优先。
有关软件包存储库的更多信息,请参阅Package 存储库。
对应的 UI:“配置” 选项卡/Packages/Add Configuration/NPM/Add 软件包存储库/Package
Scopes
(操作名称 /Configuration/Packages/NpmConfiguration/PackageRegistries/ Scopes
)
(可选)
指定要在软件包注册表中定义的范围序列。定义作用域时,将指定的包存储库配置为所有列出的作用域的注册表。如果通过 npm 客户端请求具有作用域的软件包,它将使用该存储库而不是默认存储库。每个作用域名称必须以 “@” 为前缀。
如果您包含覆盖作用域,则最后一个存储库将优先。
如果Scopes
省略,则将指定的包存储库配置为该操作使用的所有包的默认注册表。
有关作用域的更多信息,请参阅Package 命名空间和作用域包
相应的用户界面:配置选项卡/包/添加配置/NPM/添加软件包存储库/作用域-可选