在操作之间共享构件和文件 - 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代码,但该功能存在一些局限性,在开启该功能之前,您应该注意这些局限性。有关这些限制的信息,请参阅计算共享的注意事项

我可以在工作流程之间共享构件吗?

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