金秋时节,红叶遍野,按照惯例GitLab也发布了14.4月度版本。改版本中在DAST扫描,GitLab集成错误跟踪,VisualStudio代码GitLab远程仓库,DevOps的采纳趋势图等方面左右更新,更多内容请随着虫虫一起学习。
GitLab14.4主要功能介绍
VSCode远程访问GitLab存储库
在编辑器中工作时,可能需要参考另一个项目或上游库以获取更多信息。如果没有在本地克隆该项目时,则需要编辑器并在GitLabWeb界面浏览项目,或者定位并克隆该项目以便您可以在编辑器中浏览它。这两个任务都会破坏当前的上下文,引入延迟,并且可以将带到一个不太熟悉的界面来处理代码。
GitLabWorkflow版本3.33.0提供了打开远程存储库的选项。打开命令面板,使用GitLab:OpenRemoteRepository命令查找并打开一个项目。
打开远程存储库允许在VSCode环境中只读浏览项目。然后可以快速找到要查找的信息、比较实施或复制需要的片段。
一键打开编辑
现在,可以更轻松地利用强大的WebIDE并从Web浏览器为项目做出贡献。只需按.键盘上的dot键即可打开WebIDE,其中加载了当前上下文并准备好进行编辑。无论是在存储库中导航单个文件还是查看合并请求,这都是一种无需将手从键盘上移开即可开始编辑的好方法。
GitLabOperator普遍可用
GitLab14.4宣布GitLabOperator全面上市,能够在包括RedHatOpenShift在内的Kubernetes平台上运行GitLab的生产实例。GitLabOperator还可自动执行第2天的操作,例如升级组件、应用程序重新配置和自动缩放。
DevOps采用趋势图(ULTIMATE)
在GitLab14.4中,组级DevOps采纳添加了一个新图表,以了解随时间变化的趋势。该图例向展示了团队如何随着时间的推移采纳DevOps功能,并可以深入了解团队采用其他DevOps流程的速度。按Dev、Sec和Ops功能细分。
无Sentry实例的GitLab中的集成错误跟踪
在GitLab14.4之前,可以通过为Sentry后端(自行部署或在其云服务中)提供接口来与Sentry错误跟踪集成。使用Gitlab14.4,现在可以访问GitLab实例中内置的与Sentry兼容的后端。这允许快速检测应用程序,以便错误直接显示在GitLab中,而无需单独Sentry实例。
项目级价值流分析排序
项目的价值流管理变得更好。现在可以按时间或名称对阶段中的工作项进行排序。还添加了分页,以便更轻松地定位和显示感兴趣的问题。
问题下需求导航(ULTIMATE)
为了简化顶级导航,已将需求移至问题菜单中。通过在可能的情况下将功能分组到子菜单项下,使导航与常见任务保持一致并减少顶级导航项的数量。
限制注册组或项目的Runner
在GitLab13.12中,开始推出此功能,限制注册到组或项目的Runner数量。从4.4开始,该功能现已在GitLabSaas完全启用,并将注册Runner的数量限制为。对于自建实例,可以在组和项目级别实施限制,这将有助于减少团队注册新运行器而不删除不活动运行器所产生的管理开销。
资源组进程模式
在CI/CD作业中设置资源组可以防止在同一管道并行运行时同时运行同一作业。例如,如果您在很短的时间间隔内推送多个提交,就会发生这种情况。对同一基础架构运行多个部署脚本可能会导致故障。默认情况下,资源组的进程模式设置为unordered,这意味着作业在准备运行时运行。
在GitLab14.4中,新添加了另外两个进程模式,当想要强制执行作业的特定执行顺序时它们非常有用:oldest_first和newest_first.通过使用这些新选项之一设置进程模式,系统将分别以FIFO(先进先出)顺序或LIFO(后进先出)顺序强制执行作业。
DevOps采纳表的排序
DevOps采纳变得更好。现在可以按列名称对DevOps采纳表中的组和子组进行排序,从而更容易找到感兴趣的组。
使用通配符过滤范围标签(PREMIUM)
使用通配符过滤范围标签,以从一组范围标签中快速找到共享相同密钥的问题、Epic或合并请求。还可以将通配符过滤与!=(isnot)配对,以轻松地从一组范围标签中过滤掉没有任何标签的项目。要使用通配符进行过滤,只需*在输入范围标签键(例如,label:
)后附加。
批处理建议的自定义提交消息
通过单击按钮快速提出更改并应用给定的反馈,对合并请求的更改建议使代码审查更快、更容易。在GitLab13.9中,允许用户为建议的更改指定自定义提交消息,以改进需要自定义提交消息的工作流程,从而使这种体验更加出色。但是,这不适用于批处理建议,这意味着用户需要单独应用建议或在合并之前在本地压缩所有提交。
现在可以在应用批处理建议时编写自定义提交消息。这允许作者和贡献者接受建议并遵循其项目的提交消息最佳实践。通过将所有建议作为具有所需消息的单个提交应用,它还有助于减少提交次数。如果未指定自定义提交消息,则使用默认提交消息提交建议。
免费用户可以使用更多付费功能
14.1发布的注册功能程序的后续迭代,GitLab于增加了另外两个付费功能。只需注册GitLab并通过ServicePing向我们发送活动数据,就可以免费享受这些附加功能:
在全局、组和项目级别限制项目规模。
通过IP地址限制组访问。
GitLabHelmchart改进
GitLab14.4中,将Grafana从8.1.3降级到7.5.11。
GitlabRunner14.3
同期还一起发布了GitLabRunner14.3,主要更新包括:
Pod标签名称不能包含Kubernetesexecutor的特殊字符。
GitLabRunner会忽略服务容器的运行时配置。
将所有Docker镜像拉取错误视为脚本故障而不是系统故障。
AWS中国(北京)区域的S3缓存故障。
Omnibus的改进
内置的Grafana从8.1.3降级到7.5.11。
内置的Mattermost升级到5.39。Mattermost是一个开源的Slack替代品。其最新版本包含低级别安全修复和其他改进,例如对Slack回复线程的改进。
安全和合规性审计
DAST计划扫描(ULTIMATE)
GitLab的动态应用程序安全测试(DAST)现在支持预定按需扫描。之前按需DAST扫描只能手动触发,这限制了希望立即运行的扫描的可用性。使用这个新的调度程序,可以将DAST扫描设置为在未来的特定时间运行一次,或者重复运行。如果组织无法选择将DAST添加到管道,或者所在地区的安全或合规性法规要求安排扫描,则此功能提供了一种创建计划扫描以满足需求的简单方法。扫描可以与默认分支相关联,这允许结果显示在安全仪表板和漏洞列表中。结合扫描和站点配置文件,
通过API直接创建漏洞记录(ULTIMATE)
GitLab漏洞管理功能可以轻松地对安全扫描工具或集成的第3方工具检测到的安全问题进行分类和修复。这种方法的一个限制是漏洞数据只能来自这些工具之一的输出。漏洞对象创建引入新的GraphQL属性来解决该限制。现在可以通过编程方式将外部漏洞记录直接添加到项目中。结合现有的用于漏洞管理GraphQL功能,这开辟了许多新的自动化机会,例如与外部错误漏洞赏金计划同步或添加可能不适合管道作业的安全工具的发现,提供更全面的项目视图安全漏洞。
SemgrepSAST分析器Golang支持
在GitLab13.12中,为Javascript、TypeScript和Python推出Semgrep扫描支持。新版本中又扩展Semgrep分析器以支持用Golang语言编写的项目。在14.4中,更新了SAST.gitlab-ci.ymlCI模板,以与现有的Golang分析器GoSec一起自动运行这个新的分析器。在未来的版本中,将会完全禁用GoSec,但目前它将与Semgrep协同工作。目前已经完成了对结果进行重复数据删除的工作,因此不会注意到结果中的任何差异。如果包含SAST.gitlab-ci.yml,无需执行任何操作即可开始受益于SemgrepGo分析器。但是,如果覆盖过或自己管理SASTCI配置,则需要更新CI配置.将继续通过新的安全检测规则扩展Semgrep分析器,并将覆盖范围扩大到其他语言。
新漏洞的Slack通知(ULTIMATE)
GitLab中的Slack集成现在可以选择在检测到新漏洞时创建通知。这确保了正确的团队成员得到通知,新漏洞得到适当的