写点什么

Gitlab 12.2 支持复杂 CI 依赖以及跨项目合并

  • 2019-09-11
  • 本文字数:983 字

    阅读完需:约 3 分钟

Gitlab 12.2支持复杂CI依赖以及跨项目合并

Gitlab 近日发布了最新版本12.2,旨在支持复杂的持续集成(CI)管道、团队协作和跨项目的依赖管理。此外,该版本为合并请求增加了新的推送选项,并使用了环境级别的 Kubernetes 命名空间,可以在多个项目环境中共享同一集群。


为了处理持续集成管道中复杂的工作依赖关系,GitLab 12.2 引入了对有向无环图(DAG)的支持:


大多数情况下,这将涵盖作业的进入或退出以及合并(菱形依赖项)等情况。当处理多平台构建或复杂的依赖关系网时会发生这种情况,例如操作系统构建或可独立部署但微服务相关的复杂部署图。


借助对 DAG 的支持,开发人员能够使用新的关键字 needs:来定义工作的先决条件。根据 GitLab 官方解释,这是顺序阶段向前迈出的重要一步,而顺序阶段是以前唯一可用来指定工作相关性的机制。它还允许在管道阶段所需的作业完成后立即并发执行。


对复杂系统来说,Gitlab 另一个非常有用的新功能就是能够管理跨项目依赖的合并请求。当涉及到跨项目更改时,它可以让开发人员指定合并请求的顺序。这通常是非常棘手的,所以很多组织选择将多个项目合并到一个单一的存储库中,微软合并他们现有的.Net资源库就是一个典型的例子。关于合并请求,GitLab 12.2 还支持一些新的推送选项,如更改请求标题和合并后删除分支等。


对于基于 Kubernetes 的开发者,GitLab 12.2 为提高资源使用效率,提供了一种可以在不同项目环境中共享相同Kubernetes集群的方法,比如开发和 stage 阶段,它们都具有私有的权限集。这可以通过为每个项目环境提供专用的 Kubernetes 名称空间来实现,因此我们可以将多个环境映射到同一个集群,并保证它们不会发生冲突。使用相同的集群基本上意味着使用更少的资源以及更少的使用管理。


Gitlab 12.2 还有一个新功能,就是为开发者和设计者提供额外的合作设施,但这仍处于试验阶段。设计管理确实可以将线框图和原型等设计资产与某一个问题关联起来,从而为设计师、开发人员和产品经理等不同的利益群体提供一个简单的方法,让他们只围绕一个单一问题来协作。


其它一些值得我们关注的新功能还包括:通过用户电子邮件的域名来限制组成员;能够推出针对特定用户的新功能,从而可以对谁应该测试该功能进行精细控制;对某些合并请求授权安全审计等。如果你需要一个完整的功能列表,请参阅正式的发布公告


原文链接


GitLab 12.2 Supports Complex Dependencies for CI Tasks and Cross-Project Merge Requests


2019-09-11 08:003065
用户头像

发布了 36 篇内容, 共 19.5 次阅读, 收获喜欢 55 次。

关注

评论

发布
暂无评论
发现更多内容

阿里巴巴开源数据库--OceanBase从使用聊到架构剖析

hanaper

5 个网站将您的前端技能从 1 倍提升到 100 倍

云原生

学习 大前端 全栈

将JSON中对于集合的数据,如何解析成对象集合

卢卡多多

集合 Stream<T> 9月日更

Python代码阅读(第27篇):将变量名转换成驼峰形式

Felix

Python 编程 Code Programing 阅读代码

通过编程训练题来讲讲链表操作

Regan Yue

算法 链表 9月日更

【VueRouter 源码学习】第九篇 - router-view 组件的实现

Brave

源码 vue-router 9月日更

模块七作业

seawolflin

架构实战营

网络攻防学习笔记 Day133

穿过生命散发芬芳

网络基础 9月日更

【墨天轮专访第四期】华为云GaussDB:发挥生态优势,培养应用型DBA

华为云数据库小助手

GaussDB 交流 华为云数据库 人物访谈

深入理解rtmp(三)之手把手实现握手协议

轻口味

音视频 RTMP 9月日更

灯塔之上:vivo X70背后的影像进化史

脑极体

常用特殊符号大全

入门小站

工具

Parted 创建 GPT 分区

耳东@Erdong

Linux 9月日更 parted 磁盘分区

【Flutter 专题】49 图解 Flutter 与 Android 原生交互

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

这可能是最细的HashMap详解了!

程序员阿杜

Java JVM ArrayList

这可能是最细的ArrayList详解了!

程序员阿杜

Java ArrayList

详解css中清除浮动的四种方式,float浮动怎么用更为合理

你好bk

最佳实践 方法论 大前端 html/css 语言 & 开发

【网络安全】Spring框架漏洞总结(二)

网络安全学海

黑客 网络安全 信息安全 WEB安全 漏洞挖掘

全方位解读服务网格(Service Mesh)的背景和概念

xcbeyond

Service Mesh 服务网格 引航计划

翻转未来!钢铁之城重添色彩

白洞计划

Golang 中的好代码 VS 烂代码

baiyutang

编码 Go 语言 9月日更

数据结构和算法应用

Albert

算法 9月日更

redis--zset解析

en

redis Zset 引航计划

linux之chsh命令

入门小站

Linux

redis主从实践(一)

风翱

redis 9月日更

为何数据类大项目都会先做盘点??

奔向架构师

数据仓库 数据治理 9月日更

手撸二叉树之二叉搜索树中的众数

HelloWorld杰少

9月日更

Context 和 struct

Rayjun

struct Context Go 语言

Python——函数正确调用

在即

9月日更

HTML进阶(三)

Augus

html 9月日更

分享 4 个前端开发必备的 Chrome 扩展

devpoint

SVG chrome扩展 9月日更

Gitlab 12.2支持复杂CI依赖以及跨项目合并_语言 & 开发_Sergio De Simone_InfoQ精选文章