GitLab 持续集成 (GitLab CI)
当自动化在你的工作中扮演一个不可或缺的角色时,持续集成带来的收益是巨大的。GitLab具有内置的持续集成、持续部署和持续交付来构建、测试和部署应用程序。
这里有一些我们收集到的信息带你开始持续集成。
开始
向你的GitLab CI旅程迈出的第一步。
参考文章
视频:
第三方视频
参考指南
一旦你熟悉了入门指南,你就会发现自己回去查阅特定的参考指南。
.gitlab-ci.yml
指南 - 了解关于.gitlab-ci.yml
的所有细节和参数设置。CI Variables - 了解如何在你的
.gitlab-ci.yml
中使用变量或者保证项目中变量安全。权限模型 - 了解用户执行某些CI操作的访问级别
Auto DevOps
GitLab CI + Docker
利用Docker的力量来运行CI piplis。
使用docker 镜像执行GitLab Runner。
使用CI构建docker镜像
CI 服务(链接docker容器)
文章
高级使用
一旦你熟悉了GitLab CI的基础知识,就该开始学习如何利用它的潜能了。
- Environments and deployments - 将你的工作分成不同的环境,并将它们用于不同的目的,如测试、构建和部署。
- Job artifacts
- Git submodules - 在涉及Git子模块时如何运行CI jobs
- Auto deploy
- Use SSH keys in your build environment and status of each CI environment running on Kubernetes
- Trigger pipelines through the GitLab API
- Trigger pipelines on a schedule
- Deploy Boards - 检查当前状况
- Kubernetes clusters - 将一个或多个Kubernetes集群集成到项目中。
Review Apps
GitLab CI for GitLab Pages
See the topic on GitLab Pages.
特殊配置
你可以在你的整个GitLab实例以及每个项目中更改GitLab CI的默认行为。
Project specific
Affecting the whole GitLab instance
示例
注意:GitLab CI Yml 项目是官方维护的
.gitlab-ci.yml
文件集合。如果你最爱的编程语言或框架没有.gitlab-ci.yml
文件,我们非常欢迎你通过提交merge request来帮忙。
这里有一些关于设置CI pipline的教程和指南。
参考文章:
- How to test and deploy Laravel/PHP applications with GitLab CI/CD and Envoy
- How to deploy Maven projects to Artifactory with GitLab CI/CD
- Automated Debian packaging
- Spring boot application with GitLab CI and Kubernetes
- Setting up GitLab CI for iOS projects
- Setting up GitLab CI for Android projects
- Building a new GitLab Docs site with Nanoc, GitLab CI, and GitLab Pages
- CI/CD with GitLab in action
- Building an Elixir Release into a Docker image using GitLab CI
杂项
集成
参考文章:
为什么选择GitLab CI?
参考文章:
正在发生的变化
- 为GitLab 9.0重命名CI变量 阅读一些已经不推荐的CI变量,以及如何使用GitLab 9.0+。
- 新的CI工作权限模型 查看在GitLab 8.12中发生了什么变化,以及这会如何影响工作。有一种新的方法可以访问工作中的Git子模块和LFS对象。