Help us learn about your current experience with the documentation. Take the survey.

与 AWS 集成

了解如何集成 GitLab 和 AWS。

本内容面向 GitLab 团队成员以及更广泛的社区成员。

除非另有说明,所有内容均适用于 GitLab.com 和 GitLab 自托管实例。

本页面尝试索引 GitLab 与 AWS 的集成方式。无论集成是通过配置现有功能、内置在 AWS 或 GitLab 中,还是作为解决方案提供,都会收录。

文本标签 配置 / 内置 / 解决方案 支持/维护
[AWS Configuration] 通过配置现有 AWS 功能实现集成 AWS
[GitLab Configuration] 通过配置现有 GitLab 功能实现集成 GitLab
[AWS Built] 由产品团队内置到 AWS 中以解决 AWS 集成需求 AWS
[GitLab Built] 由产品团队内置到 GitLab 中以解决 AWS 集成需求 GitLab
[AWS Solution] 由 AWS 或 AWS 合作伙伴构建的解决方案示例 Community/Example
[GitLab Solution] 由 GitLab 或 GitLab 合作伙伴构建的解决方案示例 Community/Example
[CI Solution] 至少部分使用 GitLab CI 构建,因此
更具客户自定义性。
标有 [CI Solution] 的项目
也会带有其他标签
以指示维护状态。

开发活动集成

这些集成涉及使用 GitLab 构建应用程序工作负载并将其部署到 AWS。

SCM 集成

AWS CodeStar Connection 集成

8/14/2023 AWS 对 GitLab.com SaaS 的发布公告

12/28/2023 AWS 对自托管/专属版本的发布公告

AWS CodeStar Connections - 支持与多个 AWS 服务的 SCM 连接。 配置 GitLab支持的提供商支持的 AWS 服务 - 每个服务可能需要更新以支持 GitLab,因此这里是支持 GitLab 的子集。 此功能适用于 GitLab.com SaaS、GitLab 自托管和 GitLab 专属版本。 AWS CodeStar 连接并非在所有 AWS 区域都可用 - 排除列表 在此处记录。 (12/28/2023) [AWS Built]

AWS CodeStar Connection 集成视频说明(1分钟)

AWS 账户中直接支持 CodeStar Connection 的 AWS 服务:

文档和参考资料:

AWS CodePipeline 集成

AWS CodePipeline 集成 - 通过使用 GitLab 作为 CodePipeline 的 CodeStar Connections 源,可使用额外的 AWS 服务集成。(12/28/2023) [AWS Built]

AWS CodePipeline 集成支持的 AWS 服务:

  • Amazon SageMaker MLOps Projects 通过 CodePipeline 创建(如此处所述),没有关于 GitLab 的特定文档,因为它只使用账户中创建的任何 GitLab CodeStar Connection。(12/28/2023) [AWS Built]

文档和参考资料:

尚未支持 GitLab 的 CodeStar Connection 启用的 AWS 服务

  • AWS CloudFormation 公开扩展的发布 - 尚不支持。[AWS Built]
  • Amazon CodeGuru Reviewer 仓库 - 尚不支持。[AWS Built]
  • AWS App Runner - 尚不支持。[AWS Built]

AWS 服务中的自定义 GitLab 集成

其他 SCM 集成选项

  • GitLab 推送镜像到 CodeCommit 此方法使 GitLab 仓库能够利用 CodePipeline SCM 触发器。GitLab 已经可以利用 S3 和容器触发器用于 CodePipeline。此方法自记录以来已启用 CodePipeline 功能。(06/06/2020) [GitLab Configuration]

有关持续部署 (CD) 特定的集成,请参阅下方的 CD 和运营集成

CI 集成

  • 直接 CI 集成,使用密钥、IAM 或 OIDC/JWT 向 AWS 服务进行身份验证
  • 使用 GitLab CI 的 Amazon CodeGuru Reviewer CI 工作流 - 可以实现,尚未记录。[AWS Solution] [CI Solution]
  • 使用 GitLab CI 的 Amazon CodeGuru 安全扫描 (06/13/2022) [AWS Solution] [CI Solution]

CD 和运营集成

特定开发框架或生态系统的端到端开发和部署解决方案

通常,解决方案展示开发框架的端到端功能 - 利用所有相关集成技术,展示 GitLab 和 AWS 协同使用的最大价值。

Serverless

Terraform

CloudFormation

使用 GitLab 生命周期托管 DevOps 环境进行 CloudFormation 开发和部署的工作代码 [GitLab Solution] [CI Solution]

CDK

.NET on AWS

GitLab 和 AWS 的系统集成

AWS 身份提供商 (IDP) 可以配置为对 GitLab 进行身份验证,或者 GitLab 可以作为 AWS 账户的 IDP。

GitLab.com 顶级组也称为 “命名空间”,将其中一个命名空间命名为您的公司是在 GitLab.com 上为您的组织设置租户的第一步。命名空间可以配置特殊功能(如 SSO),然后将您的 IDP 集成到 GitLab 中。

GitLab 和 AWS 之间的用户身份验证和授权

Runner 工作负载身份验证和授权集成

在 AWS 上部署的 GitLab 基础设施工作负载

虽然 GitLab 可以在单台机器上部署以支持最多 500 个用户,但当它为大量用户(如 50,000)进行水平扩展时,它会扩展为一个复杂的多层平台,受益于部署到 AWS。GitLab 支持并定期测试由 AWS 服务提供支持。GitLab 可以部署到 Ec2 进行传统扩展,也可以部署到 AWS EKS 进行云原生混合实现。之所以称为混合,是因为由于 Git(以及 Git 处理工作负载变化的方式)的常见工作负载形状,特定服务层无法放置在容器集群中。

GitLab 实例计算与运营集成

AWS 计算上的 GitLab Runner