在操作之间共享构件和文件 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在操作之间共享构件和文件

构件是工作流操作的输出,通常由文件夹或文件存档组成。构件之所以重要,是因为它们让您可以在操作之间共享文件和信息。

例如,您可能有一个构建操作生成sam-template.yml 文件,但您希望部署操作使用该文件。在这种情况下,您将使用构件来允许构建操作与部署操作共享 sam-template.yml 文件。代码类似于如下所示:

Actions: BuildAction: Identifier: aws/build@v1 Steps: - Run: sam package --output-template-file sam-template.yml Outputs: Artifacts: - Name: MYARTIFACT Files: - sam-template.yml DeployAction: Identifier: aws/cfn-deploy@v1 Inputs: Artifacts: - MYARTIFACT Configuration: template: sam-template.yml

在前面的代码中,构建操作(BuildAction)生成一个 sam-template.yml 文件,然后将其添加到名为 MYARTIFACT 的输出构件中。随后的部署操作(DeployAction)指定 MYARTIFACT 作为输入,向其提供了对 sam-template.yml 文件的访问权限。

我能否在不将构件指定为输出和输入的情况下共享它们?

可以,您可以在操作之间共享构件,而无需在操作的 YAML 代码的 OutputsInputs 部分中指定构件。为此,您必须启用计算共享。有关计算共享以及如何在启用计算共享时指定构件的更多信息,请参阅跨操作共享计算

注意

尽管计算共享功能通过消除对 OutputsInputs 部分的需求来简化工作流的 YAML 代码,但该功能存在一些局限性,您应在启用该功能之前了解这些局限性。有关这些限制的信息,请参阅计算共享注意事项

我能否在工作流之间共享构件?

不可以,您不能在不同的工作流之间共享构件;但是,您可以在同一工作流中的操作之间共享构件。