当我们想到自Gitlab 13.0以来一年中发布的一切时,我们无法为我们的社区和我们的团队感到骄傲。本月,我们首先返回辞职,我们庆祝我们的Gitlab 14.0发布。
在一起,我们在去年我们谈到了我们想谈论到Gitlab 14所采取的一切的进展。
我们使用语义版本控制,因此点发布,如14.0,表示本月新的一切。 Gitlab 14是过去一年的高潮。甚至超过那个,Gitlab 14代表了Gitlab的未来,以及Devops的未来。
与Gitlab 14一起,各种尺寸的团队正在维持DIY Devops Toolchains采用现代Devops。 Gitlab 14是一个完整的Devops平台,具有嵌入其DNA的安全性,可通过其单一数据商店启用的可见性和见解,以及无缝体验和可扩展系统,因此最终用户和企业相似地获得了速度和效率的好处。
我们很兴奋,我们写了一篇关于Gitlab 14的更多关于Gitlab 14的帖子以及我们对现代Devops的愿景以及它如何使任何团队能够以速度,可见性和信任提供构建和交付软件。
常见的是,我们对本月在14.0时令人兴奋。阅读我们的常规亮点,从数十个重要的新功能和改进。除了这些令人兴奋的新功能之外,14.0次有几种破碎变化。预览下个月发布中的内容'查看了我们即将推出的版本页面,其中包括我们的14.1发行启动视频。
Mathieu在Webian和Helm封装注册机构上的工作中对包裹阶段作出了重大贡献。迄今为止,这些方向特征已完全由Mathieu提供。
自2020年9月以来,努力实施Debian包的努力。到目前为止,大约38夫人合并,现在我们临近Mathieu组合和维持的迭代计划的结束。由于Mathieu的努力,我们只是几个合并了远离功能完成和发布的请求。
Mathieu还计划了掌舵图表的套餐经理努力,并在过去的三个月里致力于这一点。在这项工作中,Mathieu已经接受了迭代和协作的Gitlab价值,与整个包装团队密切合作,超越这些和许多其他功能。
Epic Loards通过持续沟通EPIC的状态对齐团队和组织。以前版本的Gitlab需要您在列表中查看和排序ePIC以查看整体状态。将史诗保持最新意味着通过Epic的详细信息页面使大多数更改。 Epic Loards使您可以在一个地方可视化和优化所有史诗,使用可自定义的拖放界面在一个地方进行可自定义的,拖放界面,这很容易理解和协作。
EPIC板也是一个游戏更改器,用于管理和可视化理想的史诗工作流程,例如创作工作流状态(草稿,写作,完成),Devops工作流状态(例如计划,在开发和生产中),或任何其他互斥的互斥您可能会使用范围标签模型。用史诗委员会赋予您提高可预测性和效率的工作流程。
Terraform模块在整个组织中建立标准基础设施组件方面发挥着核心作用。到Gitlab 13.12,Gitlab用户必须使用第三方Terraform模块注册表,本地模块或基于Git的模块。虽然这些选项良好,但它们没有帮助模块的分发,并且缺乏适当的版本控制支持,这引入了模块用户的风险。 Gitlab 14.0将我们的基础架构 - 以代码产品扩展到Terraform模块注册表。现在,您可以使用内置Giitlab中的Terraform模块注册表,以发现具有语义版本控制的Terraform模块,用于升级和维护。此外,您可以使用Gitlab CI / CD轻松发布模块。
在遵循Terraform的最佳实践时,我们建议在专用Gitlab项目中开发每个Terraform模块。要简化到注册表的转换,用户可以从单个Gitlab存储库主持和发布多个模块。您可以在文档中了解有关发布和消费新模块的更多信息。
Gitlab 14.0介绍了一个全新的简化的顶部导航菜单,以帮助您获得更快,较少的点击次数。这个新的综合菜单提供了先前项目,组和更多菜单的组合功能。它可以使用单击“访问”您的项目,组和实例级别“功能。此外,全新的响应视图改善了较小屏幕上的导航体验。
作为开发人员,您经常花费大部分时间在您当地的发展环境中工作。当您分配合并审核请求时,这要求您离开您的编辑并执行Gitlab内部的审查。在Gitlab中执行您的评论时,您可能还需要使用本地编辑器在提出的更改中获得更多上下文。
Gitlab Workflow Version 3.21.0 for Visual Studio代码(VS代码)现在支持完整的合并请求审核流程,包括线程。选择VS代码中的Gitlab图标以打开侧栏以显示Merge请求我正在评阅。选择合并请求概述,以查看合并请求的完整详细信息和讨论。
侧栏还包含合并请求中所有已更改文件的列表。选择文件打开Diff比较,以便您查看VS代码中的更改。在查看Diff时,您可以通过选择行号并创建注释来读取文件上的反馈,并创建新评论。您在GS代码中提供的所有评论和反馈都可以在Gitlab Web界面中提供,使您可以轻松地在VS代码中执行您的评论,以及其他用户参与Gitlab。
我们非常兴奋地将完整的合并请求审核流程带到VS代码中。让我们通过为Gitlab Workflow打开一个问题来了解您的想法。
Gitlab很大。它变得更大。正如我们推出的新功能和类别,导航密集包装的左侧栏变得不那么直观。
在Gitlab 14.0中,我们已经重新设计并重组左侧栏,以提高可用性,一致性和可发现性。我们将一些链接移动到周围的特点,将操作菜单中的功能分成三个不同的菜单,改进的视觉对比度和优化的间距,因此所有菜单项都可以舒适地适合较小的屏幕。这些更改旨在更好地匹配DevOps生命周期的心理模型,并在您的项目和组中导航时提供更可预测和一致的体验。
编辑Wiki内容可能会更容易!许多Gitlab Wiki使用Markdown格式,以及一些用户,Markdown是有效协作的障碍。在此版本中,您现在可以访问维基中获得丰富的现代标准编辑体验,因此您可以自信地编辑。
即时反馈和视觉编辑工具有助于使Wiki编辑更直观,并删除协作的障碍。 Gitlab在完成后将更改保存为Markdown,因此想要编辑标记的用户直接可以这样做。您甚至可以在新编辑器中键入markdown,它将自动格式化文本。
Gitlab 14.0将内容编辑器引入Wiki,并支持大多数基本标记内容类型,如标题,粗体和斜体文本,列表,代码块和链接。完全支持整个Gitlab味道的Markdown规范将到达即将到来的版本。我们还计划在未来在Gitlab的其他地区提供内容编辑。我们欢迎在此反馈问题上进行此早期MVC输入。
在Gitlab 13.12及更早版本中,在扫描中找到的所有DAST漏洞都是单独列出的,针对每个URL单独列出该漏洞。当修复程序是单个文件或配置更改时,这可能会产生许多漏洞。例如:将在站点上的每个页面上报告使用每个HTTP响应发送的服务器标头的问题,而不是报告为具有多个出现的单个问题。
为减少管理漏洞的开销,Gitlab将多页上的相同漏洞组合成DAST报告中的单个报告的漏洞。漏洞详细信息包括找到漏洞的所有URL的列表,而不是在漏洞列表和每个页面中的仪表板中创建的单个漏洞。
这种新的报告功能不会追溯地结合以前扫描中发现的漏洞。它只适用于在Gitlab 14.0及更高版本中执行的扫描。
在此版本中,我们正在远离基于CI / CD模板的群集管理方法。群集管理是管理Kubernetes集群的能力,以改善在群集中运行的应用程序可用性。旧方法隐藏过多的逻辑,限制应用程序的自定义和扩展。使用新方法,您可以从项目模板轻松创建群集管理项目,并完全控制您的应用程序。使用新模板创建的项目包含群集管理作业所需的代码,包括对多个应用程序的内置支持。您可以轻松扩展到其他应用程序并完全拥有它们。
此外,将使用Helm V3安装新应用程序。如果使用Helm v2安装了前Gitlab托管应用程序,请检查Helm迁移指南和Gitlab托管应用程序迁移指南。 CI / CD作业输出还将指导您完成这些迁移。
在Gitlab 14.0中,群集管理项目仅支持基于证书的群集集成。我们计划在下一个版本中添加对Gitlab Kubernetes代理的支持。
Gitlab中的管道编辑器是与CI / CD管道交互时的一站式商店。以前,使用编辑器编写第一管线时,您将呈现出空白配置。虽然对于经验丰富的管道作者来说非常有用,但对于刚开始的人来说,这有点跳跃。
在此版本中,如果项目没有配置管道,则编辑器预加载示例3级流水线的模板。您可以立即保存并运行此管道,以便在项目中看到它。最重要的是,它还具有评论,帮助您了解语法,提示和提示,帮助您开始自定义模板以匹配您的需求。现在可以让您的第一个绿色管道更容易!
Gitlab中的集装箱扫描现在默认使用Trivy引擎。此更改为客户提供更及时的漏洞智能更新,更准确的结果,并支持更大数量的操作系统。运行默认设置的容器扫描的用户无缝,自动切换到Gitlab 14.0中的新引擎。自定义容器扫描作业中的变量的用户应查看我们的迁移指南并进行必要的更新。
作为我们在Gitlab中本地支持DORA4指标的努力的一部分,Merge请求图表的提前时间现在可以在组级别获得。此版本在Gitlab 13.11完成的工作中延伸;您现在可以使用一个图表,该图表显示将合并要部署到生产环境的合并请求需要多长时间(不仅仅在单个项目中,而且跨组汇总)。这允许您在多个项目中获得完整的吞吐量。
项目级值流分析中的阶段现在以水平布局显示。这有助于通过值流的阶段可视化工作流程。它还与组级值流分析中的导航体验匹配。
DevOps采用表提供了介绍Gitlab如何通过组和子组进行比较。以前,您可以将不超过200组添加到表中。我们了解,较大的组织可以拥有数千个Gitlab组。您现在可以使用可搜索的下拉列表来将任何子组添加到表中。
此外,在一个组中从Devops采用表中删除的子组不再自动从其他组的表中删除。由于此修复所做的数据迁移,您可能需要在您重新审视它们时手动将某些子组重新添加到表中。
默认情况下,已将已过期的SSH密钥添加到Gitlabare。这有助于使您的Gitlab实例更安全。以前,默认情况下,将启用添加到Gitlab的过期SSH密钥,除非管理员明确禁用,否则可以使用。
此更改会影响Gitlab.com上使用的已过期SSH键。如果您的键已过期或将很快到期,则需要更新使用它们的密钥和任何服务。我们关于SSH密钥的文档有助于如何创建新的SSH密钥。
自我管理的管理员仍然可以允许使用过期的密钥,类似于他们允许使用过期的个人访问令牌。
代码所有者是Gitlab中的代码审查过程的重要组成部分。当Code Oveers明确识别时,贡献者可以看到谁应该审查文件或存储库的贡献。代码所有者功能也可用于建立合并请求批准过程。现在,您可以跟踪组织中的哪些团队正在使用其开发工作流程中的代码所有者功能。
如果您想推出采用代码所有者,请通过代码所有者列对Devops采用表进行排序,以查找尚未采用该功能的团队,以便您可以轻松识别哪些团队需要帮助入门。或者,找到已成功配置代码所有者的团队并获取提示和反馈。 Devops采用表可在组级别和实例级别中获得。
我们的Slack Notification Service可以在用户编辑Wiki页面时通知您。 Slack消息为您提供有关编辑的有用的上下文,包括项目,页面名称和提交消息。但是,有时,提交消息没有足够的上下文,并且您需要更多有关内容如何更改的信息。
现在,您可以单击Slack消息中的比较更改,立即查看Diff,保存您的时间并减少含糊不清或不完整的提交消息的混淆。
我们今天还释放了Gitlab Runner 14.0! Gitlab Runner是轻量级,高度可扩展的代理,运行构建作业,并将结果发送回Gitlab实例。 Gitlab Runner与Gitlab CI / CD一起配合使用Gitlab包含的开源连续集成服务。
如果要使用环境中重复使用部署作业之间的脚本和配置:关键字,则难以根据部署作业执行的操作类型排除某些行为。例如,环境:停止的操作可能是一项停止评论_App的作业,并且您不希望您的部署脚本运行。
现在,环境的值:Action:可用作CI_ENvironment_Action预定义CI / CD变量,使其比以前更容易配置一个可以为所有部署作业工作的脚本。
您可以使用项目的包注册表发布和安装PYPI软件包。安装PYPI包时,必须指定包驻留在哪个项目。如果您有少量项目,则运行良好。如果您有多个项目嵌套在组中,您可能很快发现自己添加了数十种或甚至数百个不同的来源。
对于具有许多团队的大型组织,一支团队将包裹与源代码和管道一起发布到项目的包裹注册表。但是,它们还必须能够轻松地从组织内的其他项目中安装依赖项。您现在可以从组中安装包,因此您不必记住哪个项目的包装。为此,请使用简单的API指定包:获取组/:ID /包/ PYPI /文件/:SHA256 /:FILE_IDENTIFIER。
您还可以将输出写入文件,或将包描述符作为HTML文件返回。阅读更多信息的文档,让我们知道它是怎么回事。我们希望这有助于使您的团队和组织更高效。
自动安全扫描是任何安全开发过程的重要组成部分。从源代码扫描到后部署应用程序和基础架构扫描,有各种各样的工具和技术覆盖整个SDLC。虽然任何这些工具的最终目标是发现已知和潜在的漏洞,但来自任何给定扫描仪的信息都可以广泛变化。为了规范扫描输出数据的努力确实存在,但它们倾向于仅关注一个类别的扫描技术甚至是一组特定的工具。这对需要聚集各种扫描仪调查结果的安全团队提出了巨大挑战。没有一致的方式来规范化不同的发现,查看每个扫描仪输出的独特细节可以是非常苹果和橙色的体验。并且如果刀具输出没有汇总,则源工具通常会审查结果,留下漏洞风险的真实情况分散并坐在沿着Devops Toolchain的其余部分之外。
我们的安全报告模式中的新的广义细节结构可以弥合这个差距。您可以使用最小的努力将各种安全扫描仪整合到Gitlab中。现在,您可以进一步进一步了解丰富的格式选项,以查找详细信息。我们的新结构使大多数工具的现有输出易于映射到我们的JSON报告格式,同时自动添加一致的演示逻辑。灵活性而不牺牲提供丰富的漏洞发现数据的能力是新结构背后的主要目的。使用预定义的数据类型,在开放结构中提供了详细信息。预定义类型涉及Gitlab内的数据验证以及标准化的UI呈现。例如,我们提供整数,URL,表,甚至GFM(Gitlab调味标记)等类型。这允许粒度控制如何在将Gitlab内部保持整体体验的同时呈现出展示的详细信息。
以前,要访问用户列表,则必须导航到“功能标志”页面下的单独选项卡。此设计掩盖了功能标志和用户列表之间的关系,因为用户列表是功能标志的子特征。在此版本中,用户列表现在属于特征标志的子页,这提高了工作流程并使他们的关系更清晰。
在Gitlab 13.5中引入的事件服务级别协议(SLA)计时器显示了剩余的时间,直到SLA违反事件。然而,用户必须刷新页面以更新计时器。从Gitlab 14.0开始,定时器每15分钟动态更新,而无需页面刷新。
Gitlab的数据库负载均衡器允许在多个数据库服务器上分发只读查询。对于具有数千个用户的Gitlab实例,使用负载均衡器可以减少主数据库上的负载并提高响应性,从而导致Gitlab内的页面加载。
在此版本中,我们将负载均衡器从溢价移动到允许更多用户从此功能中受益。
Patroni是ForPostGRESQL高可用性的解决方案,其还允许在GeoSecondary上进行高可用的PostgreSQL备用群集。当使用灾难恢复策略的辅助Aspart时,此配置非常重要,因为它允许SystemsAdministrators镜像主要和激发站点上的数据库节点数量。这意味着在故障转移之后,没有其他数据库点头
......