正在为 AWS CodePipeline in 生成入门管道 AWS SAM - AWS Serverless Application Model

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

正在为 AWS CodePipeline in 生成入门管道 AWS SAM

要为生成入门工作流配置 AWS CodePipeline,请按以下顺序执行以下任务:

  1. 创建基础设施资源

  2. 生成管道配置

  3. 将管道配置提交到 Git

  4. 将 Git 存储库与 CI/CD 系统连接起来

注意

以下过程使用了两个 AWS SAM CLI 命令,sam pipeline bootstrap以及sam pipeline init。之所以有两个命令,是为了处理这样的用例:管理员(即需要设置基础设施 AWS 资源的权限的用户,比如 IAM 用户和角色)比开发人员(即只需要设置单个管道的权限,而不需要所需的基础设施 AWS 资源的用户)拥有更多的权限。

第 1 步:创建基础设施资源

使用的管道 AWS SAM 需要某些 AWS 资源,例如具有必要权限的 IAM 用户和角色、Amazon S3 存储桶,以及可选的 Amazon ECR 存储库。对于管道的每个部署阶段,您都必须拥有一组基础设施资源。

您可以运行以下命令来帮助完成此设置:

sam pipeline bootstrap
注意

为管道的每个部署阶段运行上一条命令。

第 2 步:生成管道配置

要生成管道配置,请运行以下命令:

sam pipeline init

第 3 步:将管道配置提交到 Git 存储库

此步骤对于确保 CI/CD 系统知道您的工作流配置并在提交更改时运行而言是必要的。

第 4 步:将 Git 存储库与 CI/CD 系统连接起来

因为 AWS CodePipeline 您现在可以通过运行以下命令来创建连接:

sam deploy -t codepipeline.yaml --stack-name <pipeline-stack-name> --capabilities=CAPABILITY_IAM --region <region-X>

如果您使用的是 Bitbucket, GitHub 则在之前运行sam deploy命令后,请按照开发者工具控制台用户指南中 “更新待处理的连接” 主题中的 “完成连接” 下的步骤完成连接,完成连接。此外,请存储sam deploy命令输出CodeStarConnectionArn中的副本,因为如果您想与之以外的其他分支 AWS CodePipeline 一起使用,则需要该副本main

配置其他分支

默认情况下, AWS CodePipeline 使用带的main分支 AWS SAM。如果要使用 main 以外的分支,则必须再次运行 sam deploy 命令。请注意,根据使用的 Git 仓库,还可能需要提供 CodeStarConnectionArn

# For GitHub and Bitbucket sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name> CodeStarConnectionArn=<codestar-connection-arn>" # For AWS CodeCommit sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"

了解更多

有关设置 CI/CD 管道的动手示例,请参阅完整研讨会 AWS CodePipeline中的 CI/CD。 AWS SAM