本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 AWS SAM 中为 AWS CodePipeline 生成入门管线
要为 AWS CodePipeline 生成入门管道配置,请按以下顺序执行以下任务:
-
创建基础设施资源
-
生成管道配置
-
将管道配置提交到 Git
-
将 Git 存储库与 CI/CD 系统连接起来
注意
以下过程使用两个 AWS SAM CLI 命令:sam pipeline
bootstrap 和 sam pipeline init。之所以使用两个命令,是为了处理这样的用例:管理员(即需要设置 IAM 用户和角色等基础设施 AWS 资源的权限的用户)比开发人员(即只需要设置单个管道而非所需基础设施 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>
如果您使用的是 GitHub 或 Bitbucket,则在之前运行 sam deploy 命令后,请按照《开发人员工具控制台用户指南》里更新待处理的连接主题中的完成连接下的步骤完成连接。此外,请存储 sam
deploy 命令输出中的 CodeStarConnectionArn 副本,因为如果您想将 AWS CodePipeline 与 main 以外的其他分支一起使用,则将需要它。
配置其他分支
默认情况下,AWS CodePipeline 使用带有 AWS SAM 的 main 分支。如果要使用 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=CodeStarConnectionArn=<branch-name>" # For AWS CodeCommit sam deploy -t codepipeline.yaml --stack-name<codestar-connection-arn><feature-pipeline-stack-name>--capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"
了解更多
有关设置 CI/CD 管道的实践示例,请参阅完整 AWS SAM 研讨会中的使用 AWS CodePipeline 的 CI/CD