日前,Gitlab发布了新的月度版本13.3。本次版本的核心在于通过DevSecOps帮助团队在软件开发过程的早期检测并解决故障和漏洞。GitLab13.3中,新增加了在开发流程中的模糊测试使构建安全软件更加容易。通过覆盖率指导的模糊测试和按需DAST可以更快更及时的发现软件漏洞。同时,使用新的CI/CD构建矩阵,可以更轻松地更频繁地释放代码。更多功能请和虫虫一起学习。
概述
尽早发现并预防缺陷和漏洞
通过覆盖率指导的模糊测试,现在可以更有效地浮出水面并解决C,C++和Go中的漏洞。在GitLab13.3中,所有的SAST(静态应用程序安全测试)分析器全部开放,也支持从GUI运行DAST。更重要的是,安全人员可以利用DAST输出中包含的新漏洞证据来更快地解决漏洞。
减少周期时间,更频繁地发布
借助新的构建矩阵,可以轻松构建强大的工作流:一次定义键和值,多次发布和部署。团队可以通过测量MRAnalytics仪表板中现在提供的合并请求吞吐量来提高速度。在合规性仪表板上追溯对MR中不同角色所履行的职责的确认。维护者还可以向其贡献者建议一个壁球提交策略。最后,使用新命名的功能标记策略,可以更加有针对性地控制发布。
交付团队更加高效和高效
软件开发主要是关于构建和分发软件包。为了简化操作并考虑到可用性,新版本对整个Package注册表GUI进行了全面改进,并且对外免费开放。另外,以自动化的方式发布NuGet软件包可以简单使用。部署后,团队将无需担心系统的运行状况。现在可以根据Pod运行状况仪表板上的信息采取所有相关措施。
GitLab13.3主要功能
适用于Go和C/C++应用程序的覆盖率指导的模糊测试(ULTIMATE)
新版本中可以对Go和C/C++应用程序运行覆盖率指导的模糊测试。这是查找其他安全扫描程序和传统质量检查人员可能会错过的安全问题和错误的好方法。覆盖率指导的模糊测试使用有关的应用程序的上下文信息来随机生成输入,并查找崩溃或其他错误,然后在它们影响生产中的用户之前进行修复。
这是第一个结合了模糊测试收购中的新技术的版本。
使用简单的语法创建作业矩阵
GitLab的子/父管道可以自定义代码以生成整个管道YAML。这是生成自定义行为的强大方法,包括在运行时生成作业。对于只想为一组定义的案例创建多个相似作业的简单场景,可能不需要这样做。在新版本中,可以找到一个新matrix关键字,该关键字可与parallel一起处理为创建多个作业的工作,每个作业具有不同的变量。
例如,可以将管道配置为自动为4种不同的体系结构创建作业,每个体系结构都具有debug和release目标3种不同的版本,所有这些都具有单个矩阵样式的配置。这将创建24个唯一的作业(4x2x3),以覆盖所有可能的组合。
合并请求批准显示谁参与了审核(STARTER及以上)
代码审查通常涉及多个人和多个迭代。关于审核相关信息很重要,比如谁审核,哪些MR审核通过,哪些还未批准等,清楚了解这些信息可以避免重复工作和浪费时间。
为了显示谁通过注释提供了反馈,合并请求小部件现在显示Commentedby列。这使作者和审查人更容易确定参与人员。
在功能标志列表视图中显示策略信息(PREMIUM及以上)
通过在GitLab13.0中引入对每个功能标记的多种策略的支持,可以为功能标记设置策略。但是,无法在功能标志的列表视图中看到相关的策略信息。现在可以在列表视图中查看有关功能标记的所有相关信息,包括策略,环境以及启用了该标志的用户数或百分比。此视图使可以快速了解项目中所有标志的配置,而无需单独打开每个标志。
外部服务的实例级项目集成管理
自建的GitLab实例管理员新版本中可以通过单个界面将第三方服务与实例上的所有项目集成在一起。
以前,必须针对每个项目配置集成,这意味着,如果一个实例具有数千个项目,则必须手动配置数千个单独的配置。不仅很耗时,而且还容易出错,难以更新,并且很难将集成作为策略来实施。
通过在所有项目之间配置集成,管理员可以节省自己和项目所有者的大量时间和精力。
这次发布的是该功能的第一次迭代。在即将发布的版本中,该功能扩展到组级别,添加更多配置和合规性选项,等等。
在GitLab中创建和管理IT事故
调查事件需要呼叫工程师评估多种工具中的不同数据源。评估指标,日志和跟踪,共享发现并工程师需要通过屏幕抓取,复制和粘贴来手动汇总信息。这项工作效率低下且耗时,导致警觉疲劳,增加工程师压力,使其士气低落。
在13.3中,GitLab的运维部分中引入一个用于分类和管理事件的专用列表,以帮助减少解决时间。事故列表提供了事件的高级摘要以及关键的详细信息:创建事件的时间,分配的人以及状态页的发布状态。此外,根据状态(打开,关闭和全部)还可以组织不同的视图,从而可以轻松识别活动事件。
在GitLab13.4及更高版本中,计划通过显示相关的度量图表,嵌入日志并呈现关联的运行手册来改善事件响应工作流程。要查看进度并为将来的改进提出建议,
包注册表现在在Core中可用
一年半以前,通过直接在GitLab中构建Maven支持来扩展了对Java项目和开发人员的支持。其目标是提供一种标准化的方式来共享软件包并在项目之间进行版本控制。在与客户和社区合作的同时,进一步投资建立了Package团队,以更好地了解用例。还添加了对Node,C#/.NET,C/C++,Python,PHP和Golang开发人员的支持。对这些功能的采用,使用和增加的投入,使能够将视野扩展到更全面的解决方案,并集成到单个应用程序中,该应用程序支持所有常用语言和二进制格式的软件包管理。没有GitLab社区的明确支持,就不可能实现这个目标。
作为GitLab管理承诺的一部分,GitLabCoreEdition中现已提供每种软件包管理器格式的基本功能。如果使用npm,Maven,NuGet,Conan,PyPI,Composer或Go模块,将支持:
使用GitLab作为私有(或公共)软件包注册表
使用的GitLab凭据,个人访问权限或工作令牌进行身份验证
将软件包发布到GitLab
从GitLab安装软件包
搜索托管在GitLab上的软件包
访问易于使用的UI,该UI显示软件包详细信息,元信息,并允许下载任何相关文件
确保贡献可用于所有GitLab用户
适用于VisualStudioCode的GitLab工作流程扩展现已正式发布
两年前,FatihAcet创建了一个扩展,以将GitLab与VisualStudioCode中的开发集成在一起。Fatih和25个以上的贡献者继续通过新功能改进扩展,现在已安装了,次。Fatih将维护权限移交给了GitLab,GitLab将继续改进和支持此扩展。
GitLab工作流程现在由GitLab官方正式维护和支持。将继续贡献功能,并为积极参与早期发行版的社区提供支持。
在父项目中为派生的MR运行管道(STARTER及以上)
作为项目维护者,可能希望启用自己的项目的CICD管道进行了全面测试的分支项目的贡献。以前,必须向贡献者提供项目CI运行器,CI配置和CI变量的访问权限,这是许多开发小组都不愿意做的事情。现在,GitLab允许具有适当权限的父项目成员为使用父项目的CI/CD配置从派生提交的MR运行管道。它还显示一个警告对话框,说明在启动管道之前的风险,以便可以更好地缓解潜在风险。
来自本地JSON的ECS任务定义
如今,GitLab的ECS部署模板更新了已在附加的AWS账户中定义的现有任务定义。在GitLab流程中更新任务定义也很常见。现在,可以在本地存储库中更新JSON任务定义,并在知道该任务将在AWS账户中正确创建的情况下推送它,从而改善标准开发流程。
项目访问令牌
项目级访问令牌允许访问项目,而无需提供GitLab用户。项目访问令牌可以由项目维护者或所有者生成,并用于通过GitLabAPI进行身份验证。项目访问令牌将被授权为维护者。这项新功能将使对GitLab的编程访问变得更轻松,更安全且成本更低。
有向无环图(DAG)管道的可视化
可能已经注意到管道上新的DAG选项卡,该选项卡使用关键字直观地呈现了管道的有向无环图依赖关系needs。这使更容易理解CI/CD配置中的复杂依赖关系网。在新版本中,该功能被已正式发布,并且正在删除beta标签。
从UI编辑功能标志用户列表(PREMIUM及以上)
现在,可以直接在UI中创建,编辑和删除功能标记用户列表。以前,只能通过API执行这些操作。快速,轻松地将用户添加或删除到列表中,以及更改列表名称。
合并请求的多行注释
对合并请求差异中的行注释是一种为作者留下反馈的好方法。审查者通常需要对代码的整个部分进行注释,例如,覆盖多行代码的函数或表达式。在引用多行的同时,在一行上留下评论会使通信不清晰和效率降低。
通过引入多行注释,审查者将不再需要决定在审查期间选择哪一行代码,而是可以向合并请求差异中的多行提供反馈。
合并请求分析(STARTER及以上)
包括GitLab在内的许多组织都使用吞吐量来衡量团队的工作速度。新版本中引入合并请求分析的第一个迭代,以帮助的团队更好地了解项目中合并MR的比率。
合并请求分析可在项目级别使用,可以帮助工程团队快速了解MR活动。对更详细外观感兴趣的用户(例如,对具有特定标签的MR感兴趣的团队负责人)还可以过滤并查看相关MR的详细列表。
禁止额外Fork
新版本中,组管理员可以防止其组内的项目在当前顶级组之外创建新的派生。此新设置为组管理员提供了其他机制来保护其组的知识产权。
查看合并请求时显示单个文件
在审查代码贡献时,审查合并请求差异是一项基本任务,因为这是作者与审查者之间大部分沟通的地方。但是,随着合并请求变得更大并且涉及更多文件,合并请求差异的导航和性能可能会变得困难。
为了解决这个问题,GitLab13.3引入了一个选项,可以在合并请求的更改选项卡上一次查看一个文件。它提供了更整洁的工作空间,并增强了审阅者对单个文件的