# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

版本 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储、Kubernetes 代理和安全中心,以及 Starter 中的可切换功能

在亚搏体育appGitLab,我们一直在思考如何帮助用户在您喜爱的平台上降低风险、提高效率并提高交付速度。 本月,我们添加了许多有用的新功能,这些功能扩展了安全功能、减少了漏洞数量、提高了效率、简化了 GitLab 的使用,并帮助您的团队更快地交付了功能。 我们希望您会发现该版本的主要功能很有用,并且 53 个其他新功能,在此版本中添加。

先进的安全功能

我们每个月都会尝试向 GitLab DevSecOps 添加一些新功能,此版本也不例外。 HashiCorp 金库中的密钥现在可以在 CI/CD 作业中使用 在组装和部署的框架内。 此外,想要支持代码部署职责分离的组织现在可以 将 Deployer 角色添加到具有 Reporter 访问权限的用户。 这个角色对应 最小访问权限原则 并将允许您确认合并请求(在 GitLab 的俄语本地化中为“合并请求”)并在受保护的环境中部署代码,而无需提供更改代码本身的访问权限。

降低风险的另一种方法是使用新的 GitLab Kubernetes 代理。 运营团队可以从 GitLab 部署 Kubernetes 集群,而无需将其集群暴露给整个互联网。 我们还引入了对新 Terraform 状态文件的自动版本控制支持 GitLab 管理的 Terraform 状态 支持合规性和易于调试。 最后,实例安全仪表板变成了 亚搏体育appGitLab安全中心 包含漏洞报告和安全设置。

使用 GitLab 工作更方便、高效

我们改进了全球搜索,包括 从搜索栏快速导航,让您轻松导航到最新的票证、组、项目、设置和帮助主题。 我们很高兴地宣布 GitLab Pages 出现重定向 重定向站点内的各个页面和目录,这将使用户能够更有效地部署其站点。 对于那些希望收到有关部署的更多信息的人来说,此版本允许 从环境工具栏管理数百个支持的项目部署!

开源贡献

我们代表 在合并请求差异中显示代码覆盖率我添加了 本月 MVP,Fabio Huser。 对更改代码的单元测试覆盖率进行标记,让开发人员在审查时清楚地了解代码覆盖率; 此信息有助于加快审查速度并减少合并和部署新代码的时间。 而我们也 将可切换功能(功能标志)移至 Starter 和计划 在 13.5 版本中将它们移至 Core.

而这仅仅是个开始!

与往常一样,总体概述的空间太少,但 13.4 版本中有很多很酷的功能。 这里还有一些:

如果您想提前知道等待您的是什么 发布,看看 我们的 13.5 发布视频.

观看我们的网络广播“挑战时期的韧性”.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

最小化可行性产品 这个月 - 法比奥·胡瑟

法比奥做出了重大贡献 贡献 в 在合并请求差异中显示代码覆盖率 - GitLab 社区期待已久的功能。 这是一个真正重要的贡献,需要与 GitLab 团队成员不断协作,并影响项目的许多领域,例如用户体验、前端和后端。

GitLab 13.4 版本的主要功能

在 CI 作业中使用 HashiCorp Vault 密钥

(高级、终极、白银、黄金) DevOps 周期阶段:发布

在版本 12.10 中,GitLab 引入了使用 GitLab 作业处理程序(GitLab 运行程序)接收 CI 作业密钥并将其传输到 CI 作业的功能。 现在我们正在扩大 使用 JWT 进行身份验证,添加新语法 secrets 归档 .gitlab-ci.yml。 这将使通过 GitLab 设置和使用 HashiCorp 存储库变得更加容易。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

使用密钥的文档 и 原票.

介绍 GitLab Kubernetes 代理

(高级、终极) DevOps 周期阶段:配置

长期以来,GitLab 与 Kubernetes 的集成使得无需手动配置即可部署到 Kubernetes 集群。 许多用户喜欢这个捆绑包的易用性,而其他用户则遇到了一些困难。 对于当前集成,您的集群必须可通过 Internet 访问,GitLab 才能访问它。 对于许多组织来说,这是不可能的,因为他们出于安全、合规性或监管原因限制对集群的访问。 为了绕过这些限制,用户需要在 GitLab 之上构建他们的工具,否则他们将无法使用此功能。

今天,我们将介绍 GitLab Kubernetes Agent,这是一种部署到 Kubernetes 集群的新方法。 该代理在集群内部运行,因此您无需将其暴露于整个 Internet。 代理通过从 GitLab 请求新的更改来协调部署,而不是 GitLab 将更新推送到集群。 无论您使用哪种 GitOps 方法,GitLab 都能满足您的需求。

请注意,这是该代理的第一个版本。 我们当前对 GitLab Kubernetes Agent 的关注点是通过代码配置和管理部署。 一些现有的 Kubernetes 集成功能(例如部署板和 GitLab 托管应用程序)尚不受支持。 我们假设这些功能将在未来版本中添加到代理中,以及专注于安全性和合规性的新集成。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

GitLab Kubernetes 代理文档 и 原票.

授予用户部署权限,无需代码访问权限

(高级、终极、白银、黄金) DevOps 周期阶段:发布

以前,GitLab 的权限系统很难在团队内正确划分负责开发的人员和负责部署的人员之间的职责。 随着 GitLab 13.4 的发布,您可以授予批准部署合并请求的权限,以及将代码实际部署给不编写代码的人员,而无需授予他们维护者访问权限(在俄语本地化的 GitLab“维护者”中) )。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

环境接入文档 и 原始史诗.

安全中心

(终极,黄金) DevOps 周期阶段:安全

以前,实例级漏洞管理在功能和灵活性方面都受到限制。 该界面是一个单一页面,结合了漏洞、指标图和设置的详细信息。 没有太多空间来开发这些功能或使用其他安全功能。

我们对 GitLab 中的安全性和透明度管理方式进行了根本性改变。 实例安全面板已经转变为一个完整的安全中心。 最大的变化是引入了新的菜单结构:您现在不再是一页,而是分别看到安全仪表板、漏洞报告和设置部分。 虽然功能没有改变,但将其分解为多个部分将允许对这部分进行改进,否则这部分将很困难。 这也为未来添加其他安全相关功能奠定了基础。

专用的漏洞报告部分现在有更多的空间来显示重要的详细信息。 以下是当前项目漏洞列表中的漏洞。 将带有漏洞指标的小部件移动到单独的部分创建了一个方便的安全控制面板。 它现在是未来可视化的画布——不仅用于漏洞管理,还用于任何与安全相关的指标。 最后,单独的设置区域为所有实例级安全设置(而不仅仅是漏洞管理)创建了一个公共空间。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

实例安全中心文档 и 原始史诗.

GitLab Starter 中现已提供可切换功能

(入门版、高级版、终极版、铜牌、银牌、金牌) DevOps 周期阶段:发布

亚搏体育appGitLab 11.4发布 可切换功能的 alpha 版本。 在12.2中我们介绍了它们的策略 用户百分比 и 按用户 ID,并在 13.1 中添加了 用户列表 и 制定策略 针对不同的环境。

今年早些时候,GitLab 做出了承诺 移动18个特征 进入开源。 在此版本中,我们已经完成了可切换功能到 Starter 计划的迁移,并将继续将它们从 亚搏体育app 13.5。 我们很高兴能将此功能带给更多用户,并希望了解您如何使用它。

有关可切换功能的文档 и 原票.

从搜索栏快速导航

(核心、入门、高级、终极、免费、青铜、白银、黄金) 可用性

有时,在浏览 GitLab 时,您希望直接进入特定项目而不是搜索结果页面。

使用全局搜索栏,您可以快速导航到最新的票证、组、项目、设置和帮助主题。 您甚至可以使用热键 /将光标移至搜索栏以更高效地导航 GitLab!

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

搜索自动完成文档 и 原票.

显示合并请求差异中的代码覆盖率

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

在检查合并请求时,可能很难确定更改的代码是否被单元测试覆盖。 相反,审阅者可以依赖总体覆盖范围并请求在批准合并请求之前增加覆盖范围。 这可能会导致编写测试的随意方法,而这实际上不会提高代码质量或测试覆盖率。

现在,当查看合并请求差异时,您将看到代码覆盖率的直观显示。 新的标记将让您快速了解更改的代码是否被单元测试覆盖,这将有助于加快代码审查以及合并和部署新代码的时间。

谢谢 法比奥·胡瑟 和西门子的这个功能!

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

有关通过测试显示代码覆盖率的文档 и 原票.

环境面板中的更多环境和项目

(高级、终极、白银、黄金) DevOps 周期阶段:发布

自 GitLab 12.5 发布以来,使用 环境面板 您可以监视环境的状态,但三个项目中的环境不得超过七个。 我们在版本 13.4 中通过分页增强了此面板,以帮助您大规模维护和管理环境。 现在您可以在更多项目中看到更多环境。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

环境面板文档 и 原票.

GitLab 控制了 GitLab Terraform 提供商

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:配置

我们最近 获得了 GitLab Terraform 提供商的维护者权利 和计划 在即将发布的版本中改进它。 在过去的一个月里,我们接受了 21 个合并请求并关闭了 31 个请求,其中包括一些长期存在的错误和缺失的功能,例如 支持实例集群。 你可以 了解有关 GitLab Terraform 提供商的更多信息 在 Terraform 文档中。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

GitLab Terraform 提供商文档 и 原票.

使用 OpenAPI 规范或 HAR 文件进行 API 模糊测试

(终极,黄金) DevOps 周期阶段:安全

API 模糊测试是查找 Web 应用程序和 API 中其他扫描程序和测试方法可能遗漏的错误和漏洞的好方法。

GitLab 中的 API 模糊测试允许您提供 OpenAPI v2 规范 или 哈尔文件 您的应用程序,然后自动生成随机输入数据,旨在测试边缘情况并查找错误。 结果在您的管道中立即可见。

这是我们的第一个 API 模糊测试版本,我们很想听听您的想法。 我们有更多库存用于模糊测试 许多想法,我们将在此基础上发布该功能。

API 模糊测试文档 и 原始史诗.

在指标面板中预览新图表

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

以前,在 GitLab 的指标仪表板中创建图表并不是一件容易的事。 在仪表板 YAML 文件中创建指标后,您进行了更改 master,而无法验证新创建的图表是否完全按照您的需要工作。 从这个版本开始,您可以在创建图表时预览更改,在将更改发送到仪表板 YAML 文件之前了解结果。

有关向面板添加新图表的文档 и 原票.

集团所有项目测试的代码覆盖率数据

(高级、终极、白银、黄金) DevOps 周期阶段:验证

当您在 GitLab 中管理大量项目时,您需要一个有关所有项目的代码覆盖率如何随时间变化的单一信息源。 以前,显示此信息需要繁琐且耗时的手动工作:您必须从每个项目下载代码覆盖率数据并将其合并在表中。

在版本 13.4 中,可以轻松快速地组装 .csv 文件包含有关该组所有项目或选定项目的代码覆盖率的所有数据。 这个功能就是MVC,接下来就会有这个能力 绘制随时间变化的平均覆盖率.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

存储库分析文档 и 原票.

支持新语言进行全面模糊测试

(终极,黄金) DevOps 周期阶段:安全

此版本引入了对几种新语言的支持,以进行模糊测试,旨在实现全面覆盖。

现在,您可以评估 Java、Rust 和 Swift 应用程序中模糊测试的全部功能,并找到其他扫描器和测试方法可能遗漏的错误和漏洞。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

有关模糊测试支持的语言的文档 и 原始史诗.

主环境页面上的警报

(高级、终极、白银、黄金) DevOps 周期阶段:发布

环境页面显示环境的整体状态。 在此版本中,我们通过添加警报显示改进了此页面。 触发的警报以及环境状态将帮助您快速采取行动来纠正出现的情况。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

用于查看环境中最新警报的文档 и 原票.

嵌套管道现在可以运行自己的嵌套管道

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

通过使用嵌套管道,现在可以在子管道内运行新管道。 如果您需要灵活地生成可变数量的管道,那么额外的深度可能会很有用。

以前,使用嵌套管道时,每个子管道都需要在父管道中手动定义一个触发作业。 现在,您可以创建嵌套管道,该管道将动态启动任意数量的新嵌套管道。 例如,如果您有一个单一存储库,则可以动态生成第一个子管道,该子管道本身将根据分支中的更改创建所需数量的新管道。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

嵌套管道文档 и 原票.

改进了父管道和嵌套管道之间的导航

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

以前,在父管道和嵌套管道之间导航不是很方便 - 您需要多次单击才能到达所需的管道。 弄清楚哪个作业启动了管道也不容易。 现在可以更轻松地查看父管道和嵌套管道之间的连接。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

嵌套管道文档 и 原票.

并行矩阵职位显示职位名称中的相关变量

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

如果你用过 任务矩阵,您可能已经注意到很难确定哪个矩阵变量用于特定作业,因为作业名称看起来像 matrix 1/4。 在版本 13.4 中,您将看到该作业中使用的相关变量值,而不是通用作业名称。 例如,如果您的目标是调试 x86 架构,那么该作业将被称为 matrix: debug x86.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

并行矩阵作业的文档 и 原票.

GitLab 13.4 中的其他改进

连接 Atlassian 帐户

(核心、入门、高级、终极) DevOps 周期阶段:管理

GitLab 用户现在可以将其 GitLab 帐户连接到 Atlassian Cloud 帐户。 这将允许您使用 Atlassian 凭据登录 GitLab,并且还将为未来的集成改进奠定基础。 Gitlab 与 Jira 以及 Atlassian 系列的其他产品。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

Atlassian 集成文档 и 原票.

导出所有合并提交的列表

(终极,黄金) DevOps 周期阶段:管理

以合规为重点的组织需要一种方法来向审核员展示与任何给定生产变更相关的组件的整体视图。 在 GitLab 中,这意味着将所有内容收集到一个地方:合并请求、票证、管道、安全扫描和其他提交数据。 到目前为止,您要么必须在 GitLab 中手动收集信息,要么配置工具来收集信息,这效率不高。

您现在可以通过编程方式收集和导出这些数据,以满足审核要求或执行其他分析。 要导出当前组的所有合并提交的列表,您需要转到 合规仪表板 然后点击按钮 所有合并提交的列表。 生成的文件将包含合并请求的所有提交、作者、关联合并请求的 ID、组、项目、确认者和其他信息。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

创建报告的文档 и 原票.

通过 API 列出和管理个人访问令牌

(终极,黄金) DevOps 周期阶段:管理

管理对 GitLab 命名空间的访问是合规性工作的重要组成部分。 从最小权限原则到禁用定时访问,GitLab 中可能存在与个人访问令牌相关的多个要求。 为了更轻松地维护和管理命名空间内的所有这些用户凭据,我们提供了列出所有个人访问令牌的功能,并且可以选择 拒绝访问 通过 API。

GitLab API 的这些改进允许用户列出和撤销自己的个人访问令牌,管理员也可以列出和撤销用户的令牌。 现在,管理员可以更轻松地查看谁有权访问其命名空间,根据用户数据做出访问决策,并撤销可能已被泄露或超出公司访问管理策略的个人访问令牌。

个人访问令牌文档 и 原票.

相关问题和其他功能现已位于 GitLab Core 中

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:计划

几个月前,我们宣布了一项计划 将 18 个功能翻译成开源代码。 通过努力兑现这一承诺,我们已经做出了 相关门票, 将票证导出为 CSV и 任务板焦点模式 (在 GitLab 的俄语本地化“讨论板”中)可在核心计划中找到。 这仅适用于“链接到”关系;“阻止”和“阻止”关系仍保留在付费计划中。

相关票据的文件 и 原票.

在合并请求侧栏中显示原始分支名称

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

在审查代码更改、讨论和合并请求提交时,通常需要对分支进行本地检出以进行更深入的审查。 但是,随着更多内容添加到合并请求描述中,查找线程名称变得越来越困难,并且您必须进一步向下滚动页面。

我们已将分支名称添加到合并请求侧边栏,使其可以随时访问,并且无需滚动整个页面。 就像合并请求的链接一样,源分支部分包含一个方便的“复制”按钮。

谢谢 伊森·瑞瑟 感谢您对此功能的开发做出的巨大贡献!

合并请求文档 и 原票.

指示合并请求差异中是否存在折叠文件

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

向多个文件添加更改的合并请求有时会折叠大文件的差异以提高渲染性能。 发生这种情况时,在审阅期间可能会意外跳过文件,尤其是在具有大量文件的合并请求中。 从版本 13.4 开始,合并请求将标记包含折叠文件的差异,因此您在代码审查期间不会错过这些文件。 为了更加清晰,我们计划在未来版本中为这些文件添加突出显示。 请继续关注更新 gitlab 票证#16047.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

合并请求差异中折叠文件的文档 и 原票.

关于合并请求差异中存在折叠文件的警告

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

在合并请求差异部分,大文件会被折叠以提高性能。 但是,在审阅代码时,审阅者滚动文件列表时可能会错过某些文件,因为所有大文件都会折叠。

我们在合并请求差异页面的顶部添加了一个可见的警告,以通知用户此部分中有一个合并文件。 这样,您就不会在审核期间错过合并请求的任何更改。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

合并请求差异中折叠文件的文档 и 原票.

Gitaly集群存储库的自动恢复

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

以前,当 Gitaly 集群的主节点离线时,该节点上的存储库会被标记为只读。 这可以防止在节点上发生尚未复制的更改的情况下发生数据丢失。 当节点重新上线时,GitLab 不会自动恢复,管理员必须手动启动同步过程或接受数据丢失。 其他情况(例如辅助节点上的复制作业失败)也可能导致存储库过时或只读。 在这种情况下,存储库保持陈旧状态,直到发生下一个写入操作(这将启动复制作业)。

为了解决这个问题 长官 现在,当它在一个节点上检测到过时的存储库而在另一节点上检测到最新版本的存储库时,会安排复制作业。 此复制作业自动使存储库保持最新状态,无需手动恢复数据。 自动恢复还可以确保在复制作业失败时辅助节点能够快速更新,而不是等待下一次写入操作。 由于许多 Gilaly 集群存储大量存储库,这大大减少了管理员和可靠性工程师在发生错误后恢复数据所花费的时间。

此外,自动修复会开始在添加到集群的任何新 Gitaly 节点上复制存储库,从而消除添加新节点时的手动工作。

Gitaly数据恢复文档 и 原票.

在设计页面上将待办任务标记为已完成

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

GitLab 中的有效沟通基于待办事项列表。 如果评论中提到您,那么能够继续执行任务并开始做某事或将其标记为已完成是至关重要的。 当您需要做某件事或稍后再回来处理某件事时,能够为自己分配任务也很重要。

以前,您在处理设计时无法添加任务或将其标记为已完成。 这严重破坏了产品团队之间的沟通效率,因为待办事项是 GitLab 工作流程的关键要素。

在版本 13.4 中,设计在使用任务时赶上了工单评论,这使得使用任务更加一致和高效。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

有关为设计添加任务的文档 и 原票.

改进了 CI/CD 故障排除指南

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

我们改进了 GitLab CI/CD 的故障排除指南,提供了有关您可能遇到的常见问题的更多信息。 我们希望改进后的文档将成为帮助您快速轻松地启动和运行 GitLab CI/CD 的宝贵资源。

CI/CD 故障排除文档 и 原票.

合并请求不再脱离合并队列

(高级、终极、白银、黄金) DevOps 周期阶段:验证

以前,合并请求可能会由于延迟注释而意外地从合并队列中掉出。 如果合并请求已在队列中,并且有人向其中添加了评论,从而创建了新的未解决的讨论,则合并请求将被视为不符合合并条件,并将从队列中掉出。 现在,将合并请求添加到合并队列后,可以添加新注释,而不必担心中断合并过程。

合并队列文档 и 原票.

显示合并请求中作业的代码覆盖率值

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

开发人员应该能够在管道完成后看到代码覆盖率值 - 即使在复杂的场景中,例如运行包含多个需要解析以计算覆盖率值的作业的管道。 以前,合并请求小部件仅显示这些值的平均值,这意味着您必须导航到作业页面并返回合并请求才能获取中间覆盖率值。 为了节省您的时间和这些额外的步骤,我们使小部件显示平均覆盖率值、目标分支和源分支之间的变化,以及显示计算平均值所依据的每个作业的覆盖率值的工具提示。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

代码覆盖率解析文档 и 原票.

查看组时从包注册表中删除包

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:打包

GitLab 包注册表是存储和分发不同格式的包的地方。 当您的项目或组中有大量包时,您需要快速识别未使用的包并将其删除以防止人们下载它们。 您可以通过以下方式从注册表中删除软件包 封装API 或通过包注册表用户界面。 但是,到目前为止,您在通过 UI 查看组时无法删除包。 因此,您必须根据每个项目删除不必要的包,这是低效的。

现在,您可以在查看组的包注册表时删除包。 只需转到该组的包注册表页面,按名称过滤包,然后删除不需要的包即可。

有关从包注册表中删除包的文档 и 原票.

将 Conan 包扩展到项目级别

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:打包

您可以使用 GitLab 中的 Conan 存储库来发布和分发 C/C++ 依赖项。 但是,以前的包只能扩展到实例级别,因为 Conan 包名称最多只能有 51 个字符。 例如,如果您想从子组发布包 gitlab-org/ci-cd/package-stage/feature-testing/conan,这几乎是不可能做到的。

您现在可以将 Conan 包缩小到项目级别,从而轻松发布和分发项目的依赖项。

柯南包发布文档 и 原票.

支持新的包管理器和依赖扫描语言

(终极,黄金) DevOps 周期阶段:安全

我们很高兴将使用 NuGet 4.9+ 或 Conan 包管理器的 C、C++、C# 和 .Net 代码项目的依赖项扫描添加到我们的列表中 支持的语言和框架。 现在,您可以在安全阶段启用依赖项扫描,以检查通过包管理器添加的依赖项中的已知漏洞。 发现的漏洞将及其严重级别显示在您的合并请求中,以便您在执行合并之前了解新依赖项带来的风险。 您还可以配置您的项目以要求 合并请求确认 对于具有严重(Critical)、高(High)或未知(Unknown)严重级别的漏洞的依赖项。

支持的语言和包管理器的文档 и 原始史诗.

将合并请求设置更改为“管道成功完成时合并”时的通知

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:发布

以前,在设置合并请求设置时 管道完成时合并 (管道成功时合并,MWPS)未发送电子邮件通知。 您必须手动检查状态或等待合并通知。 在此版本中,我们很高兴收到用户的贡献 @ravishankar2kool,它通过在审阅者将合并设置更改为 MWPS 时向订阅合并请求的每个人添加自动通知来解决此问题。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

合并请求事件通知文档 и 原票.

使用用户指定版本的 Kubernetes 创建 EKS 集群

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:配置

GitLab 用户现在可以选择 EKS 提供的 Kubernetes 版本; 您可以在版本 1.14–1.17 之间进行选择。

添加 EKS 集群的文档 и 原票.

创建事件作为工单类型

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

并非所有出现的问题都会立即触发警报:用户报告中断,团队成员调查性能问题。 事件现在是一种票证,因此您的团队可以快速创建它们作为正常工作流程的一部分。 点击 新任务 从 GitLab 的任何地方以及现场 类型 выберите 这件事.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

手动创建事件的文档 и 原票.

在 Markdown 中提及 GitLab 警报

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

我们改进了 GitLab 警报,在 GitLab Markdown 中添加了专门针对它们的新提及类型,使共享和提及警报变得更加容易。 使用 ^alert#1234在任何 Markdown 字段中提及警报:在事件、票证或合并请求中。 这还将帮助您识别从警报而不是凭单或合并请求创建的作业。

事件管理文档 и 原票.

按事件查看警报负载

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

警报描述包含对故障排除和恢复至关重要的信息,并且这些信息应该易于访问,以便您在解决事件时无需切换工具或选项卡。 从警报创建的事件在选项卡中显示完整的警报描述 警报详情.

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

高级搜索速度提高 75%

(入门版、高级版、终极版、铜牌、银牌、金牌) 可用性

GitLab 作为单个应用程序,具有独特的能力,可以在整个 DevOps 工作流程中快速发现内容。 在 GitLab 13.4 中,高级搜索返回结果的速度提高了 75% 仅限于某些命名空间和项目,如 GitLab.com 上所示。

更快的高级搜索文档 и 原票.

管理员查看已删除的项目

(核心、入门、高级、终极) DevOps 周期阶段:管理

有一个选项可以推迟项目删除 12.6中引入。 然而,以前不可能在一处看到所有等待删除的项目。 GitLab 用户实例管理员现在可以在一处查看所有待删除的项目,以及轻松恢复这些项目的按钮。

此功能通过将所有相关信息收集到一个位置并提供撤消不需要的删除操作的能力,使管理员能够更好地控制项目删除。

谢谢 阿什什·维迪尤特 (@asheshvidyut7) 对于这个功能!

关于删除项目的文档 и 原票.

API新增对群组推送规则的支持

(入门版、高级版、终极版、铜牌、银牌、金牌) DevOps 周期阶段:管理

以前,只能通过 GitLab UI 单独访问每个组并应用这些规则来配置组推送规则。 您现在可以通过 API 管理这些规则,以支持您的自定义工具和 GitLab 自动化。

有关群组推送规则的文档 и 原票.

撤销自我管理凭证存储的个人访问令牌

(最终的) DevOps 周期阶段:管理

凭证存储 为管理员提供管理 GitLab 实例的用户凭据所需的信息。 由于注重合规性的组织其凭据管理策略的严格程度各不相同,因此我们添加了一个按钮,允许管理员有选择地撤销用户的个人访问令牌 (PAT)。 管理员现在可以轻松撤销可能受到损害的 PAT。 对于需要更灵活的合规性选项以最大程度地减少对用户的干扰的组织来说,此功能非常有用。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

凭证存储文档 и 原票.

静态站点编辑器的配置文件

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

在 GitLab 13.4 中,我们引入了一种自定义静态站点编辑器的新方法。 尽管配置文件在此版本中不保存或接收任何设置,但我们正在为将来自定义编辑器行为奠定基础。 在未来的版本中,我们将添加到该文件中 .gitlab/static-site-editor.yml 安装参数 基址在哪 存储在编辑器中加载的图像,覆盖 Markdown 语法设置和其他编辑器设置。

设置静态站点编辑器的文档 и 原始史诗.

使用静态站点编辑器编辑文件的介绍部分

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

Front Matter 是一种在数据文件中定义页面变量以供静态站点生成器处理的灵活且方便的方法。 它通常用于设置页面标题、布局模板或作者,但也可用于在以 HTML 形式呈现页面时将任何类型的元数据传递给生成器。 介绍性部分包含在每个数据文件的最顶部,通常采用 YAML 或 JSON 格式,并且需要一致且精确的语法。 不熟悉特定语法规则的用户可能会无意中输入无效标记,这反过来可能会导致格式问题甚至构建失败。

静态站点编辑器的所见即所得编辑模式已经从编辑器中删除了简介,以防止这些格式错误。 但是,这会阻止您在不返回源模式下编辑的情况下更改此部分中存储的值。 在 GitLab 13.4 中,您可以在熟悉的基于表单的界面中访问任何字段并编辑其值。 当按钮被按下时 设置 (个人设置)将打开一个面板,显示在开头定义的每个键的表单字段。 这些字段会填充当前值,编辑其中任何字段就像在 Web 表单中输入一样简单。 以这种方式编辑简介可以避免复杂的语法,让您可以完全控制内容,同时确保最终结果的格式一致。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

静态站点编辑器文档 и 原票.

GitLab for Jira 和 DVCS Connector 现已进入 Core 版本

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:创建

对于 GitLab 上的 Jira 用户: 适用于 Jira 的 GitLab 应用 и DVCS连接器 允许您直接在 Jira 中显示有关 GitLab 提交和合并请求的信息。 结合我们内置的 Jira 集成,您可以在工作时轻松地在两个应用程序之间切换。

这些功能以前仅在我们的高级计划中提供,但现在可供所有用户使用!

Jira 集成文档 и 原票.

Gitaly 集群交易的多数投票(测试版)

(核心、入门、高级、终极) DevOps 周期阶段:创建

Gitaly 集群允许您将 Git 存储库复制到多个“热”Gitaly 节点。 这通过消除单点故障来提高容错能力。 交易操作,在 GitLab 13.3 中引入,导致更改被广播到集群中的所有 Gitaly 节点,但只有投票与主节点一致的 Gitaly 节点才会将更改保存到磁盘。 如果所有副本节点不同意,则仅将更改的一份副本存储在磁盘上,从而在异步复制完成之前创建单点故障。

多数投票通过在将更改保存到磁盘之前要求大多数节点(不是全部)的同意来提高容错能力。 如果启用此切换功能,写入应该在多个节点上成功。 持异议的节点会使用已形成仲裁的节点的异步复制来自动同步。

在 Gitaly 中设置一致性的文档 и 原票.

Web IDE 中对 JSON 验证的自定义架构支持

(高级、终极、白银、黄金) DevOps 周期阶段:创建

人们使用 JSON 或 YAML 编写配置的项目通常很容易出现问题,因为很容易出现拼写错误并破坏某些内容。 可以编写检查工具来捕获 CI 管道中的这些问题,但使用 JSON 模式文件对于提供文档和提示可能很有用。

项目参与者可以在其存储库中定义文件中自定义模式的路径 .gitlab/.gitlab-webide.yml,它指定要检查的文件的架构和路径。 当您将特定文件加载到 Web IDE 中时,您将看到其他反馈和验证来帮助您创建该文件。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

Web IDE 中的自定义架构文档 и 原票.

有向无环图 (DAG) 分支限制增加至 50

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

如果您使用传送带 有向无环图 (有向无环图 (DAG)),您可能会发现一个作业最多可以指定 10 个作业 needs:,太严厉了。 在 13.4 中,默认限制从 10 增加到 50,以允许管道中作业之间的关系网络更加复杂。

如果您是自定义 GitLab 实例的管理员,您可以通过设置切换功能来提高此限制,尽管我们不提供对此的官方支持。

Документация по настройке needs: и 原票.

行为改善 needs 对于错过的作业

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

在某些情况下,对于在管道中指定的依赖项,管道中错过的作业可能会被错误地视为成功。 needs,这导致后续作业运行,这是不应该发生的。 此行为已在版本 13.4 中修复,并且 needs 现在可以正确处理错过任务的情况。

Документация по настройке needs и 原票.

固定最后一个任务工件以防止其被删除

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

GitLab 现在会自动锁定任何活动分支、合并请求或标记上最后成功的作业和管道工件,以防止其在过期后被删除。 设置更积极的过期规则来清理旧工件变得更加容易。 这有助于减少磁盘空间消耗,并确保您始终拥有管道中最新工件的副本。

关于工件过期的文档 и 原票.

CI/CD 管道优化指南

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

优化 CI/CD 管道可以提高交付速度并节省资金。 我们改进了文档,添加了如何充分利用优化管道的快速指南。

有关提高输送机效率的文档 и 原票.

测试报告按测试状态排序

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:验证

单元测试报告 是查看管道中所有测试结果的简单方法。 然而,由于测试数量较多,查找失败的测试可能需要很长时间。 其他可能导致报告难以使用的问题包括难以滚动长跟踪输出以及运行时间少于 1 秒的测试的时间舍入为零。 现在,默认情况下,在对测试报告进行排序时,它首先将失败的测试放在报告的开头,然后按持续时间对测试进行排序。 这使得更容易发现故障和长时间的测试。 此外,测试持续时间现在以毫秒或秒为单位显示,这使得读取速度更快,并且以前的滚动问题也得到了解决。

单元测试报告文档 и 原票.

上传到包注册表的文件大小限制

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:打包

现在,可以上传到 GitLab 包注册表的包文件的大小受到限制。 添加了限制以优化包注册表性能并防止滥用。 限制因包格式而异。 对于 GitLab.com,最大文件大小为:

  • 柯南:250MB
  • 行家:3GB
  • NPM:300MB
  • NuGet:250MB
  • pypi:3GB

对于自定义 GitLab 实例,默认值是相同的。 但是,管理员可以使用以下方式更新限制: 导轨控制台.

有关文件大小限制的文档 и 原票.

使用 CI_JOB_TOKEN 发布 PyPI 包

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:打包

您可以使用 GitLab PyPI 存储库来创建、发布和共享 Python 包以及源代码和 CI/CD 管道。 但是,以前您无法使用预定义的环境变量对存储库进行身份验证 CI_JOB_TOKEN。 因此,您必须使用您的个人凭据来更新 PyPI 存储库,或者您可能决定根本不使用该存储库。

现在可以更轻松地使用 GitLab CI/CD 使用预定义的环境变量发布和安装 PyPI 包 CI_JOB_TOKEN.

有关将 GitLab CI 与 PyPI 包结合使用的文档 и 原票.

根据要求提供 DAST 扫描仪配置文件

(终极,黄金) DevOps 周期阶段:安全

到按需 DAST 扫描 在之前的版本中引入, 添加了 DAST 扫描仪配置文件。 它们扩展了这些扫描的配置功能,使您可以快速创建多个配置文件以涵盖多种扫描类型。 在 13.4 中,爬网程序配置文件本身包含一个爬网程序超时设置,用于设置 DAST 爬网程序在尝试发现已爬网网站的所有页面时应运行的时间。 该配置文件还包括目标站点超时设置,用于设置如果站点没有以 200 或 300 状态代码响应,则爬网程序在中止爬网之前应等待站点变得可访问的时间。随着我们继续改进此功能,该功能将会添加到未来版本中的扫描仪配置文件中;将添加其他配置参数。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

DAST 扫描仪配置文件文档 и 原票.

GitLab Pages 的简单重定向配置文件

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:发布

如果您使用 GitLab Pages 并希望更好地管理 URL 更改,您可能已经注意到无法管理 GitLab Pages 站点上的重定向。 GitLab 现在允许您通过向存储库添加配置文件来配置规则,将 Pages 站点的一个 URL 重定向到另一个 URL。 此功能的实现得益于 Kevin Barnett 的贡献(@教皇弗洛伊德博士),我们的埃里克·伊斯特伍德(@MadLittleMods)和 GitLab 团队。 谢谢各位的意见。

重定向文档 и 原票.

由 GitLab 管理的 Terraform 状态

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:配置

为了合规性和必要时的调试,需要访问以前版本的 Terraform 状态。 从 GitLab 13.4 开始,提供对由 GitLab 管理的版本控制 Terraform 状态的支持。 新的 Terraform 状态文件会自动启用版本控制。 现有的 Terraform 状态文件将是 自动迁移到版本存储库 在以后的版本中。

由 GitLab 管理的 Terraform 状态文档 и 原票.

重要事件通知详情

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

处理事件时,您需要能够轻松确定警报打开的时间以及事件被触发的次数。 这些细节通常对于确定对客户的影响以及您的团队应首先解决的问题至关重要。 在新的事件详细信息面板中,我们显示警报开始时间、事件数量以及原始警报的链接。 此信息可用于警报生成的事件。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

事件管理文档 и 原始史诗.

设置和编辑事件严重性参数

(核心、入门、高级、终极、免费、青铜、白银、黄金) DevOps 周期阶段:监控

事件严重性维度允许响应者和利益相关者确定中断的影响以及响应的方法和紧迫性。 当您的团队在事件解决和恢复期间共享结果时,他们可以更改此设置。 您现在可以在“事件详细信息”页面的右侧栏中编辑事件的严重性,严重性将显示在事件列表中。

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

处理事件的文档 и 原票.

创建、编辑和删除容器网络安全规则

(终极,黄金) DevOps 周期阶段:防御

容器网络安全规则编辑器的这一增强功能允许用户直接从 GitLab 用户界面轻松创建、编辑和删除规则。 编辑器功能包括 .yaml 适合经验丰富的用户,而具有直观界面的规则编辑器则适合刚接触网络规则的用户。 您可以在 部分找到新的规则管理选项 安全与合规 > 威胁管理 > 规则 (安全与合规 > 威胁管理 > 策略).

# GitLab 13.4 已发布,包含用于 CI 变量的 HashiCorp 存储和 Kubernetes 代理

网络规则编辑器文档 и 原始史诗.

Azure Blob 存储支持

(核心、入门、高级、终极、免费、青铜、白银、黄金) 可用性

GitLab 和 GitLab Runner 现在都支持 Azure Blob 存储,使得在 Azure 上运行 GitLab 服务变得更加容易。

GitLab 实例支持 Azure 所有类型的对象存储,包括 LFS 文件、CI 工件和 备份。 要设置 Azure Blob 存储,请按照安装说明进行操作 综合 или 掌舵图.

GitLab 作业处理器还支持 Azure 存储 分布式缓存。 可以使用以下部分配置 Azure 存储 [runners.cache.azure].

有关使用 Azure Blob 存储的文档 и 原票.

适用于 Ubuntu 和 OpenSUSE 的综合 ARM64 软件包

(核心、入门、高级、终极) 可用性

为了满足对在 64 位 ARM 架构上运行 GitLab 的支持不断增长的需求,我们很高兴地宣布推出官方 ARM64 Ubuntu 20.04 Omnibus 软件包。 非常感谢 Zitai Chen 和 Guillaume Gardet 做出的巨大贡献 - 他们的合并请求在其中发挥了关键作用!

要下载并安装 Ubuntu 20.04 的软件包,请访问我们的 安装页面 然后选择 Ubuntu.

ARM64 的软件包文档 и 原票.

GitLab Helm 图表的智能卡身份验证支持

(高级、终极) 可用性

现在可以使用智能卡(例如通用访问卡 (CAC))对通过 Helm 图表部署的 GitLab 实例进行身份验证。 智能卡使用 X.509 证书根据本地数据库进行身份验证。 这样,Helm Chart 的智能卡支持现在与 Omnibus 部署中提供的智能卡支持保持一致。

智能卡身份验证设置文档 и 原票.

详细的发行说明和更新/安装说明可以在英文原帖中阅读: GitLab 13.4 发布,附带 Vault for CI 变量和 Kubernetes Agent.

我们正在从事英语翻译 卡蒂杜尔登, 玛丽亚特基, 艾诺内科 и 里沙万特.

来源: habr.com

添加评论