自动化 DevOps
- 层级:免费版、高级版、旗舰版
- 提供版本:GitLab.com、GitLab 自托管版、GitLab 专属版
Auto DevOps 能将您的代码转化为可投入生产的应用,无需通常的配置开销。 整个 DevOps 生命周期都基于行业最佳实践进行了预配置。从默认设置开始,以便快速发布, 然后在需要更多控制时进行自定义。无需复杂的配置文件或深入的 DevOps 专业知识。
使用 Auto DevOps,您将获得:
- 自动检测您所用语言和框架的 CI/CD 流水线
- 内置安全扫描,在生产环境部署前发现漏洞
- 每次提交都进行代码质量和性能测试
- 即用型审查应用,用于在实时环境中预览变更
- 快速部署到 Kubernetes 集群
- 渐进式部署策略,以降低风险和停机时间
要了解 Auto DevOps 的介绍,请观看 Auto DevOps。
Auto DevOps 功能
Auto DevOps 支持 DevOps 各个阶段 的开发。
| 阶段 | Auto DevOps 功能 |
|---|---|
| 构建 | 自动构建 |
| 构建 | 自动依赖扫描 |
| 测试 | 自动测试 |
| 测试 | 自动浏览器性能测试 |
| 测试 | 自动代码智能 |
| 测试 | 自动代码质量 |
| 测试 | 自动容器扫描 |
| 部署 | 自动审查应用 |
| 部署 | 自动部署 |
| 安全 | 自动动态应用程序安全测试 (DAST) |
| 安全 | 自动静态应用程序安全测试 (SAST) |
| 安全 | 自动密钥检测 |
与应用平台和 PaaS 的对比
Auto DevOps 提供了通常包含在应用平台或平台即服务 (PaaS) 中的功能。
Auto DevOps 的灵感来源于 Heroku,并在多个方面超越了它:
- Auto DevOps 可与任何 Kubernetes 集群配合工作。
- 没有额外费用。
- 您可以使用自己托管的集群,也可以使用任何公共云上的集群。
- Auto DevOps 提供了一条渐进式的升级路径。如果您需要 自定义,可以从修改模板开始,然后逐步演进。
开始使用 Auto DevOps
要开始使用,您只需要 启用 Auto DevOps。 这样就足以运行一个 Auto DevOps 流水线来构建和测试您的应用。
如果您想构建、测试和部署您的应用:
- 查看 部署要求。
- 启用 Auto DevOps。
- 将您的应用部署到云提供商。
启用或禁用 Auto DevOps
只有当存在 Dockerfile 或匹配的 buildpack 时,Auto DevOps 才会自动运行流水线。
您可以针对单个项目或整个群组启用或禁用 Auto DevOps。实例管理员也可以 将 Auto DevOps 设置为默认,应用于实例中的所有项目。
在启用 Auto DevOps 之前,请考虑 为部署做好准备。如果不这样做,Auto DevOps 可以构建和测试您的应用,但无法部署它。
按项目
要为单个项目使用 Auto DevOps,您可以逐个项目启用它。如果您打算在更多项目中使用它,可以按 群组 或 实例 启用它。这可以为您节省在每个项目中单独启用的时间。
先决条件:
- 您必须拥有项目的 Maintainer(维护者)角色或更高权限。
- 确保您的项目中不存在
.gitlab-ci.yml文件。如果存在,您的 CI/CD 配置将优先于 Auto DevOps 流水线。
要为项目启用 Auto DevOps:
- 在左侧边栏,选择 搜索或跳转至 并找到您的项目。
- 选择 设置 > CI/CD。
- 展开 Auto DevOps。
- 勾选 默认使用 Auto DevOps 流水线 复选框。
- 可选但推荐。添加 基础域名。
- 可选但推荐。选择 部署策略。
- 选择 保存更改。
GitLab 会在默认分支上触发 Auto DevOps 流水线。
要禁用它,请遵循相同的过程,并取消勾选 默认使用 Auto DevOps 流水线 复选框。
按群组
当您为群组启用 Auto DevOps 时,该群组中的子群组和项目将继承此配置。通过为群组启用 Auto DevOps,而不是为每个子群组或项目单独启用,可以为您节省时间。
在群组级别启用后,您仍然可以在不想使用的子群组和项目中禁用 Auto DevOps。
先决条件:
- 您必须拥有群组的 Owner(所有者)角色。
要为群组启用 Auto DevOps:
- 在左侧边栏,选择 搜索或跳转至 并找到您的群组。
- 选择 设置 > CI/CD。
- 展开 Auto DevOps。
- 勾选 默认使用 Auto DevOps 流水线 复选框。
- 选择 保存更改。
要为群组禁用 Auto DevOps,请遵循相同的过程,并取消勾选 默认使用 Auto DevOps 流水线 复选框。
为群组启用 Auto DevOps 后,您可以触发属于该群组的任何项目的 Auto DevOps 流水线:
- 在左侧边栏,选择 搜索或跳转至 并找到您的项目。
- 确保项目中不包含
.gitlab-ci.yml文件。 - 选择 构建 > 流水线。
- 要触发 Auto DevOps 流水线,请选择 新建流水线。
将您的应用部署到云提供商
- 使用 Auto DevOps 部署到 Google Kubernetes Engine (GKE) 上的 Kubernetes 集群
- 使用 Auto DevOps 部署到 Amazon Elastic Kubernetes Service (EKS) 上的 Kubernetes 集群
- 使用 Auto DevOps 部署到 EC2
- 使用 Auto DevOps 部署到 ECS
更新 GitLab 时升级 Auto DevOps 依赖项
更新 GitLab 时,您可能需要升级 Auto DevOps 依赖项以匹配您的新 GitLab 版本:
- 升级 Auto DevOps 资源:
- Auto DevOps 模板。
- Auto Deploy 模板。
- Auto Deploy 镜像。
- Helm。
- Kubernetes。
- 环境变量。
- 升级 PostgreSQL。
私有仓库支持
无法保证您可以将 Auto DevOps 与私有容器仓库一起使用。
相反,请将 GitLab 容器仓库 与 Auto DevOps 一起使用,以简化配置并防止任何意外问题。
在代理后安装应用
GitLab 与 Helm 的集成不支持在代理后安装应用。
如果您想这样做,您必须在运行时将代理设置注入到安装的 Pod 中。
相关主题
故障排除
请参阅 Auto DevOps 故障排除。