Auto DevOps

极狐GitLab Auto DevOps 是一组预配置的功能和集成,它们协同工作以支持您的软件交付过程。

Auto DevOps 检测您的编程语言并使用 CI/CD 模板 来创建并运行默认的流水线以构建、测试您的应用程序。然后,您可以通过配置部署来部署应用到 staging 和生产环境,而且还可以设置 review apps 来预览每个分支的变更。

您可以使用默认设置来快速交付应用,然后迭代并自定义

您还可以使用 API 来管理 Auto DevOps

Auto DevOps 功能

Auto DevOps features

Auto DevOps 在每个 DevOps 阶段 都支持开发。

阶段 Auto DevOps 功能
Build 自动构建
Build 自动依赖扫描
Test 自动测试
Test 自动浏览器性能测试
Test 自动代码智能
Test 自动代码质量分析
Test 自动容器扫描
Deploy 自动 Review Apps
Deploy 自动部署
Secure 自动动态应用程序安全测试 (DAST)
Secure 自动静态应用程序安全测试(SAST)
Secure 自动密钥检测

与应用平台和 PaaS 的比较

Auto DevOps 提供通常包含在应用程序平台或平台即服务 (PaaS) 中的功能。

Heroku 的启发,Auto DevOps 在多个方面超越了它:

  • Auto DevOps 适用于任何 Kubernetes 集群。
  • 没有额外费用。
  • 您可以使用自己托管的集群或任何公共云上的集群。
  • Auto DevOps 提供了一个渐进式的毕业路径。如果您需要自定义,请从更改模板开始并从那里发展。

开始使用 Auto DevOps

要开始使用,您只需启用 Auto DevOps。这足以运行 Auto DevOps 流水线来构建和测试您的应用。

如果您想构建、测试和部署您的应用:

  1. 查看部署要求
  2. 启用 Auto DevOps
  3. 部署应用到云提供商

启用或禁用 Auto DevOps

Auto DevOps 流水线仅在Dockerfile 或匹配的构建包存在时自动运行。

您可以为项目或整个群组启用或禁用 Auto DevOps。实例管理员还可以将 Auto DevOps 设为默认

在启用 Auto DevOps 之前,考虑准备好部署。如果没有准备好,Auto DevOps 可以构建和测试您的应用,但无法部署。

项目级别

要将 Auto DevOps 用于单个项目,您可以逐个项目启用它。如果您打算将其用于更多项目,您可以为群组实例启用它。这样可以节省您一一启用的时间。

先决条件:

  • 您必须至少具有项目的维护者角色。
  • 确保项目没有 .gitlab-ci.yml 文件。如果有,CI/CD 配置将优先于 Auto DevOps 流水线。

要为项目启用 Auto DevOps:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 设置 > CI/CD
  3. 展开 Auto DevOps
  4. 选中 默认为 Auto DevOps 流水线 复选框。
  5. 可选但推荐。添加 基础域名
  6. 可选但推荐。选择 部署策略
  7. 选择 保存修改

极狐GitLab 在默认分支上触发 Auto DevOps 流水线。

要禁用它,请按照相同的过程并清除 默认为 Auto DevOps 流水线 复选框。

群组级别

在群组级别启用 Auto DevOps 时,该群组中的子组和项目会继承配置。这样可以通过批量启用而不是为每个子组或项目单独启用来节省您的时间。

为群组启用后,您仍然可以为不想使用的子组和项目禁用 Auto DevOps。

先决条件:

  • 您必须是群组的所有者角色。

为群组启用 Auto DevOps:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 选择 设置 > CI/CD
  3. 展开 Auto DevOps
  4. 选中 默认为 Auto DevOps 流水线 复选框。
  5. 选择 保存修改

要在群组级别禁用 Auto DevOps,请遵循相同的过程并清除 默认为 Auto DevOps 流水线 复选框。

在群组级别启用 Auto DevOps 后,您可以为属于该组的任何项目触发 Auto DevOps 流水线。 为此:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 确保项目不包含 .gitlab-ci.yml文件。
  3. 选择 构建 > 流水线
  4. 要触发 Auto DevOps 流水线,请选择 运行流水线

更新极狐GitLab 时升级 Auto DevOps 依赖项

更新极狐GitLab 时,您可能需要升级 Auto DevOps 依赖项,匹配您的极狐GitLab 新版本:

  • 升级 Auto DevOps 资源
    • 自动 DevOps 模板。
    • 自动部署模板。
    • 自动部署镜像。
    • Helm。
    • Kubernetes。
    • 环境变量。
  • 升级 PostgreSQL

私有 registry 支持

我们不能保证您可以将私有容器镜像库与 Auto DevOps 一起使用。

我们强烈建议您使用带有 Auto DevOps 的 GitLab Container Registry 来简化配置并防止任何不可预见的问题。

在代理后面安装应用

极狐GitLab 的 Helm 集成不支持在代理后面安装应用。

如果您想这么做,您必须在运行时将代理设置注入安装 pod。

故障排查

查看故障排查文档