本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例:将文件发布到 Amazon S3
以下示例工作流包括 Amazon S3 发布操作以及构建操作。该工作流会构建一个静态文档网站,然后将该网站发布到用于托管它的 Amazon S3。工作流包含以下按顺序运行的构造块:
-
触发器 – 当您将更改推送到源存储库时,此触发器会自动启动工作流运行。有关触发器的更多信息,请参阅使用触发器自动启动工作流运行。
-
构建操作(
BuildDocs
)– 触发后,该操作会构建一个静态文档网站(mkdocs build
),并将关联的 HTML 文件和支持元数据添加到名为MyDocsSite
的构件中。有关构建操作的更多信息,请参阅使用工作流进行构建。 -
Amazon S3 发布操作(
PublishToS3
)– 在构建操作完成后,此操作会将MyDocsSite
构件中的站点复制到 Amazon S3 以进行托管。
注意
以下工作流示例仅用于说明目的,如果不执行附加配置,则无法运行。
注意
在接下来的 YAML 代码中,如果需要,可以省略 Connections:
部分。如果您省略此部分,则必须确保您环境的默认 IAM 角色字段中指定的角色包含 Amazon S3 发布操作所需的权限和信任策略。有关使用默认 IAM 角色设置环境的更多信息,请参阅创建环境。有关 Amazon S3 发布操作所需的权限和信任策略的更多信息,请参阅“Amazon S3 发布”操作 YAML 中的 Role 属性的说明。
Name: codecatalyst-s3-publish-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: BuildDocs: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: echo BuildDocs started on `date` - Run: pip install --upgrade pip - Run: pip install mkdocs - Run: mkdocs build - Run: echo BuildDocs completed on `date` Outputs: Artifacts: - Name: MyDocsSite Files: - "site/**/*" PublishToS3: Identifier: aws/s3-publish@v1 Environment: Name: codecatalyst-s3-publish-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-s3-publish-build-role Inputs: Sources: - WorkflowSource Artifacts: - MyDocsSite Configuration: DestinationBucketName: amzn-s3-demo-bucket SourcePath: /artifacts/PublishToS3/MyDocSite/site TargetPath: my/docs/site