Help us learn about your current experience with the documentation. Take the survey.
GitLab CI/CD 示例
- Tier: 免费版、高级版、旗舰版
- Offering: GitLab.com、GitLab 自托管、GitLab 专用
本页面包含各种示例的链接,可以帮助您了解如何为您的特定用例实现 GitLab CI/CD。
示例有多种形式。作为集合:
- GitLab 维护的
.gitlab-ci.yml模板文件,适用于许多常见的框架和编程语言。 - 包含各种语言的示例项目的仓库。您可以 fork 并根据需要进行调整。项目包括使用 NGINX 提供静态网站的 review apps 的示例。
- 以下部分列出的示例和其他资源。
CI/CD 示例
下表列出了本节中包含的分步教程示例:
| 用例 | 资源 |
|---|---|
| 使用 Dpl 部署 | 使用 dpl 作为部署工具。 |
| GitLab Pages | 查看 GitLab Pages 文档,了解部署静态网站的完整示例。 |
| 多项目流水线 | 使用多项目流水线构建、测试和部署。 |
| npm 与 semantic-release | 使用 semantic-release 发布 npm 包到 GitLab 包注册表。 |
| PHP 与 npm、SCP | 在 GitLab CI/CD 中运行 Composer 和 npm 脚本并通过 SCP 部署。 |
PHP 与 PHPUnit、atoum |
测试 PHP 项目。 |
| 使用 Vault 进行密钥管理 | 使用 HashiCorp Vault 进行身份验证和读取密钥。 |
贡献的示例
您可以通过提交您喜欢的编程语言的指南链接来帮助使用该语言的人们。这些贡献的指南托管在外部或单独的示例项目中:
| 用例 | 资源 |
|---|---|
| Clojure | 使用 GitLab CI/CD 测试 Clojure 应用程序。 |
| 游戏开发 | 使用 GitLab CI/CD 进行 DevOps 和游戏开发。 |
| Java 与 Maven | 如何使用 GitLab CI/CD 将 Maven 项目部署到 Artifactory。 |
| Java 与 Spring Boot | 使用 GitLab CI/CD 将 Spring Boot 应用程序部署到 Cloud Foundry。 |
| Ruby 和 JS 并行测试 | Ruby 和 JavaScript 项目的 GitLab CI/CD 并行作业测试。 |
| Heroku 上的 Python | 使用 GitLab CI/CD 测试和部署 Python 应用程序。 |
| Heroku 上的 Ruby | 使用 GitLab CI/CD 测试和部署 Ruby 应用程序。 |
| Heroku 上的 Scala | 使用 GitLab CI/CD 测试和部署 Scala 应用程序到 Heroku。 |
CI/CD 模板
通过使用 .gitlab-ci.yml 模板,开始使用 GitLab CI/CD 和您喜欢的编程语言或框架。
当您在 UI 中创建 .gitlab-ci.yml 文件时,您可以选择以下模板之一:
- Android (
Android.gitlab-ci.yml) - Android with fastlane (
Android-Fastlane.gitlab-ci.yml) - Bash (
Bash.gitlab-ci.yml) - C++ (
C++.gitlab-ci.yml) - Chef (
Chef.gitlab-ci.yml) - Clojure (
Clojure.gitlab-ci.yml) - Composer
Composer.gitlab-ci.yml - Crystal (
Crystal.gitlab-ci.yml) - Dart (
Dart.gitlab-ci.yml) - Django (
Django.gitlab-ci.yml) - Docker (
Docker.gitlab-ci.yml) - dotNET (
dotNET.gitlab-ci.yml) - dotNET Core (
dotNET-Core.gitlab-ci.yml) - Elixir (
Elixir.gitlab-ci.yml) - Flutter (
Flutter.gitlab-ci.yml) - Go (
Go.gitlab-ci.yml) - Gradle (
Gradle.gitlab-ci.yml) - Grails (
Grails.gitlab-ci.yml) - iOS with fastlane (
iOS-Fastlane.gitlab-ci.yml) - Julia (
Julia.gitlab-ci.yml) - Laravel (
Laravel.gitlab-ci.yml) - LaTeX (
LaTeX.gitlab-ci.yml) - Maven (
Maven.gitlab-ci.yml) - Mono (
Mono.gitlab-ci.yml) - npm (
npm.gitlab-ci.yml) - Node.js (
Nodejs.gitlab-ci.yml) - OpenShift (
OpenShift.gitlab-ci.yml) - Packer (
Packer.gitlab-ci.yml) - PHP (
PHP.gitlab-ci.yml) - Python (
Python.gitlab-ci.yml) - Ruby (
Ruby.gitlab-ci.yml) - Rust (
Rust.gitlab-ci.yml) - Scala (
Scala.gitlab-ci.yml) - Swift (
Swift.gitlab-ci.yml) - Terraform (
Terraform.gitlab-ci.yml) - Terraform (
Terraform.latest.gitlab-ci.yml)
如果编程语言或框架模板不在此列表中,您可以贡献一个。要创建模板,请向 模板列表 提交合并请求。
向您的 GitLab 安装添加模板
- Tier: 高级版、旗舰版
- Offering: GitLab 自托管、GitLab 专用
您可以在您的实例中添加自定义示例和模板。您的 GitLab 管理员可以 指定一个实例模板仓库,其中包含特定于您组织的示例和模板。
其他资源
本节提供更多资源,帮助您熟悉 GitLab CI/CD 的各种用途。较旧的文章和视频可能无法反映最新 GitLab 版本的状态。
云环境中的 CI/CD
有关为基于云的环境设置 GitLab CI/CD 的示例,请参阅:
- 如何使用 GitLab CI 设置多账户 AWS SAM 部署
- 视频:使用 GitLab CI/CD 自动化 Kubernetes 部署
- 如何使用 DigitalOcean 上的 GitLab Runner 自动扩展持续部署
- 如何使用 GitLab 和 Helm 创建带有自动部署到 Kubernetes 的 CI/CD 流水线
- 视频:演示 - 从 GitLab 部署到 OpenShift 容器集群
- 教程:使用 Gitpod 设置 GitLab.com Civo Kubernetes 集成
另请参阅以下视频概述:
客户案例
有关 GitLab CI/CD 的一些客户体验,请参阅:
- Verizon Connect 如何使用 GitLab 将数据中心部署时间从 30 天缩短到 8 小时以内
- Wag! 如何将发布流程从 40 分钟缩短到仅 6 分钟
- Jaguar Land Rover 如何拥抱 CI 来加速软件生命周期
入门指南
有关帮助您入门的一些示例,请参阅:
实现 GitLab CI/CD
有关其他已实现 GitLab CI/CD 的示例,请参阅:
- 如何使用多项目流水线简化多个仓库之间的交互
- 我们如何使用 GitLab CI 更快地构建 GitLab
- 通过示例在 GitLab CI 中使用 Docker 测试所有内容
- 工匠视角下的持续集成
- Go 工具和 GitLab:如何像专家一样进行持续集成
- GitBot - 使用 CI 自动化无聊的 Git 操作
- 如何在 GitLab CI 中使用 Vue.js
- 视频:GitLab CI/CD 深度解析
- Docker 化 GitLab review apps
- 使用 GitLab CI 进行快速自然的持续集成
- 演示:GitLab 中的 CI/CD 实战
从第三方 CI 工具迁移到 GitLab
从其他工具迁移到 GitLab CI/CD 的示例:
将 GitLab CI/CD 与其他系统集成
有关如何将 GitLab CI/CD 与第三方系统集成的信息,请参阅:
- 使用 Sentry 的新 GitLab 集成简化和缩短错误修复
- 如何使用 GitLab CI/CD 简化您的智能家居配置
- 演示:GitLab + Jira + Jenkins
- 介绍 GitLab 的 Auto Breakfast(有点)
移动开发
有关使用 GitLab CI/CD 进行移动应用程序开发的帮助,请参阅: