为 Jenkins、C GitLab I/CD、Actions 或 Bitbucket 管道生成入门管道 GitHub - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为 Jenkins、C GitLab I/CD、Actions 或 Bitbucket 管道生成入门管道 GitHub

要为 Jenkins、C GitLab I/CD、Actions 或 Bitbucket Pipelines 生成入门工作流配置,请按以下顺序执行以下任务: GitHub

  1. 创建基础设施资源

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

  3. 创建凭证对象

  4. 生成管道配置

  5. 将管道配置提交到 Git 存储库

注意

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

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

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

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

sam pipeline bootstrap
注意

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

您必须在管道的每个部署阶段为管道用户捕获 Amazon 凭证(密钥 ID 和密钥),因为后续步骤需要它们。

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

必须将 Git 存储库连接到 CI/CD 系统,这样 CI/CD 系统才能访问用于构建和部署的应用程序源代码。

注意

如果您使用以下组合之一,则可以跳过此步骤,因为连接会自动完成:

  1. GitHub 使用 GitHub 存储库执行的操作

  2. GitLab 带有存储库的 CI/CD GitLab

  3. 带有 Bitbucket 存储库的 Bitbucket 管线

要将 Git 存储库与 CI/CD 系统连接,请执行以下操作之一:

  • 如果您使用的是 Jenkins,请参阅 Jenkins 文档中的“添加分支源”。

  • 如果您使用的是 C GitLab I/CD 和除之外的 Git 存储库 GitLab,请参阅 “连接外部存储库” GitLab文档

第 3 步:创建凭证对象

每个 CI/CD 系统都有自己的方式来管理 CI/CD 系统访问 Git 存储库所需的凭证。

要创建必需的凭证对象,请执行以下操作之一:

  • 如果您使用的是 Jenkins,请创建一个存储密钥 ID 和密钥的“凭证”。请按照配置 Jenkins 部分里使用 Amazon SAM 构建 Jenkins 管道博客中的说明进行操作。下一步您将需要用到“凭证 ID”。

  • 如果您使用的是 C GitLab I/CD,请创建两个 “受保护变量”,密钥 ID 和密钥各一个。按照GitLab 文档中的说明进行操作 — 下一步需要两个 “变量键”。

  • 如果您使用的是 GitHub 操作,请创建两个 “加密密钥”,密钥和密钥各一个。按照GitHub文档中的说明进行操作——下一步需要两个 “机密名称”。

  • 如果您使用的是 Bitbucket 管线,请创建两个“安全变量”,密钥 ID 和密钥各一个。请按照变量和密钥中的说明进行操作。下一步您将需要两个“密钥名称”。

第 4 步:生成管道配置

要生成管道配置,请运行以下命令。您需要输入在上一步中创建的凭证对象:

sam pipeline init

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

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

了解更多信息

有关使用 GitHub Actions 设置 CI/CD 管道的实践示例,请参阅完整 Amazon SAM 研讨会中的使用 GitHub 的 CI/CD