GitLab Web

IDE致力于简化接受合并请求的工作流程,现在GitLab发布了 10.7的正式版本(generally

available),除此之外,还有一些其他的特性以提高C++和Go代码的安全性并提升与Kubernets集成的能力。

GitLab Web IDE最初是是以beta的形式发布在GitLab 10.4

Ultimate中的,它的目标是在进行较小的修正和处理合并请求时,简化相关的工作流,不需要开发人员stash他们的变更并切换至本地的一个新的分支,然后再切换回来。如果开发人员有大量的PR要review,或者开发人员刚刚接触Git,这项特性可能更有吸引力。

GitLab Web

IDE的布局与很多图形化的IDE类似,左侧的面板展现了该项目的文件,中间的面板允许查看和编辑它们的内容。GitLab Web

IDE右侧是提交面板,它允许开发人员跟踪哪些文件要提交、审查变更、编辑提交信息、控制提交到master分支还是一个新的分支中以及是否合并变更。


GitLab将Web IDE开源了,以便于让开发者社区为其贡献功能的开发和完善。

除此之外,GitLab 10.7还扩展了GitLab的Static Application Security

Testing(SAST),为其添加了对C/C++和Go的支持。GitLab

SAST是一组安全工具,其目的是分析源码并探测已知的漏洞。除了C/C++和Go之外,SAST还支持Python、Java和Ruby

on Rails。GitLab SAST容易让人与GitHub Security

Alerts进行类比,后者支持Ruby和JavaScript,对Python的支持正在开发之中。

GitLab 10.7带来的另外一个有趣的变化是Deploy

Tokens,它能够为特定的需求提供长期存活的只读认证会话,这样的场景举例来说,在CI管道中使用Kubernetes来编排一组容器。实际上,为了完美地支持pod的重启和自动伸缩,Kubernetes需要对容器注册表(registry)进行持续的访问。在此之前,可以通过 CI

job

token来实现,它的缺点在于一旦Kubernetes完成其任务,该token就会过期。作为变通方案,可以使用个人的访问token(personal

access token),如果访问token需要在多个用户间共享的话,这种方式就不合适了。Deploy

token所提供的解决方案能够解决这两个方面的限制。

GitLab

10.7还包含了很多新的特性,比如参数化CI/CD控制流、项目的标记(badge)、子项目issue面板等等。读者可以参阅官网的发布文档了解完整的细节。