前些时日GitHub被微软併购,GitLab顺势推出许多优惠方案,吸引了不少用户。而现在释出GitLab 11.0,新增了许多新功能,要来服务广大的用户,重点更新除了这次主打Auto DevOps正式可用外,还强化了安全性以及网页IDE的功能,并持续强化对Kubernetes的整合。
GitLab把这次的更新重点放在简化内建的持续交付流程,提供自动化的服务。这个称为Auto DevOps的功能,在10.0测试版的时候开始提供,而在11.0已经正式可用,这是一个原本就建置在系统内服务,提供完整的持续整合与持续交付(CI/CD)功能,其涵盖了整个端到端的程式码生命週期,让开发者只需要进行提交程式码的动作,接下来的工作便由系统接手,包括建置、测试、程式码品质扫描、安全性扫描、授权扫描、封装、效能测试、部署,一直到了应用程式上线后,Auto DevOps也会监控执行状态。
在GitLab 10.7就释出的网页版IDE,在11.0版本,主要新增了两项功能,让开发者可以直接在网页处理更多工作。现在使用者可以直接在网页IDE查看CI/CD工作管线,在介面的左下方有一个状态栏显示CI状态,而且在右边也能查看每项工作的状态以及日誌,方便修复合併请求等CI错误。不同以往的是,过去想要修复错误,需要开启多个标籤页,并且互相切换,现在所有资讯都可以直接在网页IDE开启,未来还能在提交前进行预览和测试。网页版IDE的第二个重点更新,使用者现在能很方便的处理多个合併请求,只需要一次点击就可以对管理的合併请求进行切换。
此外,GitLab 11.0新功能之一的授权管理(License Management),或是称为软体组合分析。由于应用程式通常包含多个函式库和框架等外部组件,每个组件都拥有各自的授权与限制,开发者要确保这些外部组件与应用程式授权相容,以避免不需要的法律问题。而GitLab现在把授权管理整合进工作流程的一部分,系统会自动收集软体中组件的相依关係,在新的改变进入主要分支前,会在合併请求的小工具中显示新的授权供使用者确认。而使用Auto DevOps功能的使用者,系统会自动为专案启用授权管理,不过这个新功能只提供给Ultimate与Gold级用户使用。
在四月时,GitLab就与Google云端整合,可自动部署应用程式到Kubernetes,现在更全面强化了整合功能,GitLab 11.0提供了几项新功能,使用者可以用来管理与监控Kubernetes状态外,需要除错与检查pod的时候,也能直接从GitLab部署仪表板中,浏览Kubernetes pod的日誌档。过去当Auto DevOps用于私人或是内部专案的时候,部署作业完成后,Kubernetes便无法存取注册表(Registry),现在已经能够创建一个部署权杖,供注册表后续存取,并且减少错误发生的可能性。
在提升使用者应用程式安全性上,GitLab透过整合静态与动态应用程式安全性测试、相依性与容器扫描,让使用者可以尽早发现软体错误与漏洞。GitLab在10.7时提供了Go、C与C++静态分析安全性测试(Static Analysis Security Testing,SAST),现在测试支援的语言扩增Scala与.Net。