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

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

为 Jenkins、 GitLab CI/CD、Actions 或 Bitbucket 管道生成启动管道 GitHub

要为 Jenkins、C GitLab I/CD、Ac GitHub tions 或 Bitbucket Pipelines 生成启动流水线配置,请按以下顺序执行以下任务:

  1. 创建基础设施资源

  2. 将您的 Git 存储库与 CI/CD 系统Connect

  3. 创建凭证对象

  4. 生成管道配置

  5. 将您的工作流配置提交到 Git 存储库

注意

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

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

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

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

sam pipeline bootstrap
注意

为管道的每个部署阶段运行先前的命令。

您必须获取管道每个部署阶段的管道用户的Amazon证书(密钥 ID 和密钥),因为后续步骤需要这些证书。

第 2 步:将 Git 存储库与 CI/CD 系统Connect

必须将 Git 存储库连接到 CI/CD 系统,以便 CI/CD 系统能够访问您的应用程序源代码以进行构建和部署。

注意

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

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

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

  3. 带有 Bitbucket 存储库的 Bitbu

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

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

  • 如果您使用的是 GitLab CI/CD 以外的 Git 存储库 GitLab,请参阅 “连接外部存储库” GitLab文档

步骤 3:创建凭证对象

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

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

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

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

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

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

步骤 4:生成流水线配置

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

sam pipeline init

第 5 步:将您的工作流配置提交到 Git 存储库

此步骤是确保您的 CI/CD 系统知道您的工作流配置所必需的,并且将在提交更改后运行。

了解更多信息

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