构建、发布和分享Helm Chart
Helm使用chart作为Helm的包,这个Helm chart包含了在Kubernetes集群中运行应用程序、工具或服务所需的所有资源。对于创建和管理自己的Helm chart的组织来说,有一个中央存储库来收集和分享这些helm chart是很重要的。
极狐GitLab已经支持多种包管理的格式。为什么不同时支持Helm呢?这就是社区成员和14.0里程碑的MVP Mathieu Parent几个月前在为新的GitLab Helm Registry功能破土动工前提出的问题。社区和极狐GitLab之间的合作是我们双飞轮战略的一部分,也是我喜欢在极狐GitLab工作的原因之一。谢谢Mathieu!
现在你可以使用极狐GitLab项目来发布和分享打包好的Helm chart。只需将你的项目添加为远程仓库,然后用个人访问、部署或CI/CD的token进行认证。完成后,你就可以使用Helm client或GitLab CI/CD来管理你的Helm chart,用API或界面来下载Herm chart。
这个功能的下一步计划,是展示这些helm chart更多的元数据。然后,我们将通过使用它来替代https://charts.gitlab.io/,内部开始使用。
Escalation政策
On-call值班需要24*7高压工作,即使努力工作也有可能错过警报和通知。但是,维护关键系统的团队不能错过任何有关服务中断的警报。Escalation政策是专门针对这些情况的功能。Escalation政策是一套有时限的步骤,如果前一个步骤中的响应者没有响应,那么会自动呼叫下一个步骤的响应者。为了保护公司不会错过关键的警报,请在你管理on-call待命计划的极狐GitLab项目中创建一个Escalation政策。
在极狐GitLab 14.1中,用户可以创建、查看或删除Escalation政策。
Kubernetes集群的CI/CD tunnel
到目前为止,将Kubernetes集群连接到极狐GitLab CI/CD需要用户将集群向极狐GitLab开放。但出于安全考虑,一些组织不鼓励对外开放防火墙。
现在,极狐GitLab提供了一个CI/CD tunnel,使用极狐GitLab Kubernetes Agent将极狐GitLab Runners与你的Kubernetes集群连接起来。这个功能可以让GitOps工作流更加多样,可以在流水线里设计部署逻辑。
你的团队可以安全地使用喜欢的工具来进行部署工作,用kubectl、helem、kpt、tanka或其他任何工具,而没有安全问题。
要使用tunnel,需要在你的CI/CD流水线中定义kubecontext内容,来与你的Kubernetes agent连接。为了简化这一过程,我们计划在未来的迭代里自动将kubecontext注入到CI/CD环境中。
CI/CD tunnel目前只支持在那些配置了Kubernetes Agent的项目里使用,但我们正在努力支持对群组级的使用。你可以安全地开始在极狐GitLab SaaS和自我管理的实例上使用这个tunnel功能。
代码覆盖率的合并请求审批规则
为了保持较高的代码测试覆盖率,你需要确保对代码库的合并请求不会减少测试覆盖率。以前,强制维护测试覆盖率的唯一方法是找人代码审核检查测试覆盖率是否降低。
现在你可以用新的包含覆盖率检查的审批规则来执行这个覆盖率政策。这是一个简单的方法来确保那些会降低测试覆盖率的合并请求不能被合并。
Datadog CI可视化功能集成
与Datadog CI可视化功能集成能让你的极狐GitLab流水线、单元测试和集成测试被详细地分解,查看高级指标:执行状态、持续时间、百分比(p50和p95)、失败率、队列时间等等。Datadog仪表盘可以帮助你筛选极狐GitLab CI/CD数据,以确定导致流水线失败最频繁的问题任务。
在Wiki内容编辑器中创建表格和上传图片
我们在极狐GitLab 14.0版本中开始改善Wiki功能的编辑体验,当时我们引入了一个新的Markdown编辑器作为MVC。它支持最常见的Markdown格式化选项,但也有一些明显的不足之处。极狐GitLab 14.1继续改善Wiki在图片和表格的编辑体验。现在你可以直接上传图片到编辑器中,还可以插入和编辑表格,包括从流行的表格应用里复制和粘贴内容,从其他来源的表格贴入你的Wiki里。
选择项目access token的角色
用户现在可以在项目token创建的时候指定在访问级别,并可以查看现有项目access token的角色。
在这次版本以前,项目的access token具有maintainer的角色权限。对于一些用户来说,这个角色包括了很多不必要的高级权限。
为了避免功能被滥用,除了极狐GitLab SaaS基础版的用户外,其他所有等级的用户都可以使用这个功能。所有自我管理的用户以及企业版和旗舰版的SaaS客户现在可以轻松地选择和查看他们项目access token的角色。
合并请求的外部状态检查
现在你可以使用外部API来执行合并请求中的状态检查,这对于某些第三方系统,如果在外部系统运行,又没有特定的流水线任务,需要在另一个系统中手动触发任务,那么这个外部API是它和极狐GitLab集成的好方法。
在项目中,可以配置用来检查状态的API(通过界面或API),然后当对合并请求进行更改时,该API会被调用,并提供关于合并请求的各种细节信息。然后,外部API可以用一个返回代码来表示检查是否通过,结果会显示在合并请求中。
这个功能让团队能更轻松地保持同步,在最终合并前查看合并请求是否已经满足外部要求,这是一个额外的方法来确保合规性要求得到满足。
快速访问合规报告的内容
我们在 “合规仪表板 “中新增了一个快速访问的视图,用来审查合并请求。点击列表中的合并请求将打开该视图,可以直接在 “合规仪表板 “中快速查看合并请求的状态和细节。
这个功能可以节省时间,显示每个合并请求的信息,如作者、标题、批准者、评论者等等。你不再需要单独打开每个合并请求来查看这些信息。合规团队可以快速审查合并请求的完整列表,找到需要注意的合并请求,而不是花时间审查那些不需要注意的合并请求。
要求一个Jira议题与一个合并请求相关联
现在你可以要求一个项目中的所有合并请求都关联一个相关的Jira议题。这可以确保极狐GitLab中的代码变化能反映在Jira议题中,从而使团队能够更好地保持同步。
DAST界面配置工具
极狐GitLab的动态应用安全测试(DAST)推出了新的界面配置工具。我们相信安全是一个团队的努力,这个配置工具使非CI领域的专家也更容易开始使用极狐GitLab DAST,它能帮助用户创建一个合并请求,来启用DAST扫描。这种方法也方便复用最佳配置,比如使用极狐GitLab管理的DAST.gitlab-ci.yml模板,来覆盖标准模板的设置。
通过极狐GitLab DAST,用户经常创建多个DAST配置,来满足应用程序在不同地方的需求。新的DAST配置界面让用户创建DAST站点和scanner的配置文件,这些配置文件可以在CI/CD流水线任务里被引用。配置是存储在数据库中,在扫描运行的时候被引用,将配置的变量加载到流水线任务中。YAML文件里唯一需要配置的是指定在扫描中使用的站点和scanner配置文件的名称。这个功能使得在你的应用程序在需要切换配置时,非常简单,你不再需要从头开始为DAST建立YAML配置文件,我们的新工具已经创建好了。
合并请求diff页面提示代码质量
审查合并请求的时候,会想知道每一个变化对项目的代码质量有什么影响。之前,要在极狐GitLab中做到这一点,你需要打开两个窗口:
- 合并请求的diff页面。
- 合并请求的主页面上,查看代码质量的变化。
这样来回切换效率很低,而且很容易错过关键的代码质量问题。
现在,合并请求的 “变更” Tab会显示哪一行引入了代码质量违规,以及它的严重程度,因此你可以快速识别需要解决的最关键问题。鼠标悬停在图标上可以提供关于违规的细节