Gitlab.com将迁移到13.0

2020-05-11 04:07:46

GitLab 13.0将于2020年5月22日登陆GitLab.com。除了令人兴奋的新功能,它还包括计划中的弃用,因为它是今年的主要版本发布。我们试图最大限度地减少这些更改,但有些更改足够重要,足以保证功能更改。

继续阅读,了解更多关于GitLab.com的这些重要变化,GitLab.com将在5月22日发布之前的几天内发布。

作为更新Auto DevOps以支持Kubernetes 1.16的一部分,默认的PostgreSQL图表版本将从0.7.1更改为8.2.1。

要将现有的0.7.1 PostgreSQL数据库迁移到较新的基于8.2.1的数据库,请按照升级指南备份数据库,安装新版本的PostgreSQL,然后恢复数据库。

要保持旧默认值,需要将AUTO_DevOps_Postgres_Channel配置项变量显式设置为1。

由于Kubernetes 1.16中删除了几个API,因此在GitLab 13.0版中,deploymentApiVersion设置将更改为新的默认值:app/v1。

如果您使用的是Kubernetes1.9及更低版本,则需要升级Kubernetescluster才能获得app/v1版本支持。对于Auto DevOps,GitLab需要1.12+的Kubernetes。

不鼓励使用ONLY和EXCEPT来支持规则。规则提供了更详细、更具表现力的作业执行以及评估和理解起来不那么复杂的逻辑。

仅使用和例外的自动开发操作和安全配置模板正在更改为规则。已自定义作业模板的用户将需要转换,因为这两个配置选项不能一起使用。我们提供了文档来帮助您迁移模板。

仅使用和EXCEPT对这些模板进行的任何自定义都必须更改为规则语法。Only/Except不能与规则组合使用,因为它打算由该功能替换。有关将规则转换或固定到以前版本的指导,请参阅我们的疑难解答文档。

GitLab.com上的/projectsAPI端点应用了50,000个基于偏移量的分页限制。进行偏移量超过50,000的API调用的集成必须切换到基于键集的数据分页,这将显著缩短响应时间并减少GitLab服务器上的负载。自我管理实例可以将限制自定义为所需的值。

为了优化性能,基于键集的分页只提供基于项目id的排序。需要更灵活排序选项的用例可以继续使用基于偏移量的分页,前提是偏移量保持在限制以下。如果用例需要具有深度偏移量的灵活排序选项,我们建议对客户端进行排序。

随着我们继续致力于代码段的版本控制,我们正在进行更改,以便在UI和API中搜索代码段,从而从搜索结果中删除代码段内容。标题和描述仍然可以通过搜索和API访问。

对于使用GitLab Silver、Premium或更高版本的客户,GitLab在列出项目时的API响应当前返回名为MARKED_FOR_DELETE_AT的属性,该属性表示将项目标记为软删除的日期。

为了标准化我们的API中的术语,GitLab 13.0中删除了该属性。已添加名为marked_for_delete_on的具有相同信息的新属性。

为了提高性能,在GitLab 12.9中,我们将group Details API中的Groups/:ID端点返回的项目数量限制为100个。

为了进一步提高端点性能,在GitLab 13.0中,当通过API请求组详细信息时,我们从响应中删除了PROJECTS和SHARED_PROJECTS属性。用户仍然可以在同一组API中找到此信息,也可以在该组的项目终结点列表中找到此信息。

引入了一个新的id字段,它替换了JSON公共安全报告中不推荐使用的CVE字段。

随着我们添加(并鼓励第三方供应商添加)更多的安全集成,我们正在努力改进我们当前的JSON通用报告格式。主字段CVE属性令人困惑,因为它不包含CVE数据,因此应将其删除。我们引入id字段,该字段对于GitLab扫描仪是自动计算的,对于第三方合作伙伴扫描仪是必需的。id字段最终将取代CVE作为唯一标识符。在安全报告中使用cveproperty的任何人,无论是使用自定义脚本还是作为我们的Secure功能的集成者,最终都需要停止使用CVE属性,而应该开始使用新的id属性。请注意,今天的id和cve都是必填字段。

我们正在从Runners API终结点删除Token属性,该终结点将按ID获取Runner的详细信息。您可以在与此相关的问题或您通常的支持渠道中提供反馈。

Windows Batch Executor for the Shell Executor:在GitLab 11.11中,我们不推荐使用Windows Batch Executor for the GitLab Runner,而支持PowerShell。在13.0中,我们将从Runner shell执行器中删除对Windows批处理(Cmd)的支持。当用户注册新的运行器shell执行器时,它现在将缺省为powershell。

debug/job/list?v=1端点:在13.0中,用于监视的/debug/Jobs/list?v=1端点替换为/debug/Jobs/list?v=2端点。

注册命令上的Docker服务标志:在GitLab Runner 12.7中,我们引入了允许Docker Executor中配置中的服务别名的功能。在13.0中,旧结构--docker-services也将被删除。这意味着以下选项GitLab-runner register--docker-services postgres将不再设置服务,因为配置不再是字符串数组。对于具有依赖--docker-services标志的自动化的用户,请单击此处查看迁移示例。

遗留构建目录缓存功能标志:在GitLab Runner 13.0中,我们将删除11.10中引入的遗留构建目录缓存功能标志。我们强烈建议用户不要在生成目录中存储任何内容。有关其他详细信息,请参阅最佳实践文档页面的构建目录部分。

Windows 1803支持终止:在GitLab Runner 13.0中,不再支持Windows 1803。

Fedora 29支持终止:在GitLab Runner 13.0中,不再支持Fedora 29。

对于自托管的GitLab 13.0,本周对于GitLab.com用户,我们已经删除了License-Management.gitlab.ci.yml模板(从GitLab 12.8起就不再推荐使用)。您必须将其替换为License-Scaning.gitlab-ci.yml模板。有关更多详细信息,请访问文档。

如果要直接引用作为License Compliance的一部分运行的许可证扫描的结果,还需要使用新的报告类型工件:Reports:License_Scanning,而不是工件:Reports:License_management。对于GitLab 12.8到GitLab 12.10的版本,这是可选的,但对于GitLab 13.0的版本,这是必需的。这不适用于GitLab 12.7及更早版本的用户。

之所以进行此更改,是因为GitLab License Management现在已重命名为GitLab License Compliance。在与用户和分析师审阅后,我们确定这个新名称更好地表明了该功能的用途,与现有的市场术语保持一致,并减少了与GitLab订阅许可功能的混淆。您可以在EPIC重命名License Management to License Compliance中找到关于此问题的研究和工作。作为许可合规性的一部分对您的项目进行的分析将称为许可扫描。

注册GitLab每月两次的时事通讯,探索即将到来的网络广播、操作博客,并随时了解每月发布的令人兴奋的新功能:

GitLab不仅仅是源代码管理或CI/CD。它是一个完整的软件开发生命周期&在单个应用程序中的DevOps工具。

免费试用GitLab