网站群发软件(GitLab)

按照月度发布周期,上周Gitlab官方正式发布了15.4版本。该版本是GitLab 的第一个机器学习驱动功能建议的审阅者公开测试版、VS Code 中改进的CI/CD集成、页面管道向导、已验证域的电子邮件验证绕过等。更多功能请和虫虫一起学习。GitLab 15.4 版本主要改进推荐的审阅者公开测试版(ULTIMATE)确定合适的人来审查您的合并请求并不总是直截了当或显而易见的。选择错误的审阅人可能会导致延迟、低质量的审阅、来回重新分配审阅人,甚至根本没有审阅。现在,GitLab 可以通过建议的审阅者(Suggested Reviewers) 推荐审阅人。使用合并请求中的更改和项目的贡献图,机器学习支持的建议会出现在合并请求侧边栏中的审阅者下拉列表中。该功能目前处于测试阶段,位于功能标志后面。它将在下周向所有 Ultimate Saas用户将可以使用。限制每个项目的最大自定义域数可以使用GitLab Pages 为网站定义自定义域。但是,过多的自定义域可能会导致Pages API 的响应时间变慢,影响服务的整体可靠性。现在,可以在实例级别限制每个项目的自定义域的最大数量,并根据需求取得适当的平衡。默认值为0(无限制)。GitLab Pages 开始向导为了让 GitLab Pages 的入门变得更加容易,无需手动创建配置文件,而是使用 GitLab UI 以交互方式构建。只需回答有关如何构建应用程序的几个基本问​题,将构建.gitlab-ci.yml文件以帮助入门。这是Gilab第一次使用新的Pipeline Wizard,该工具可以通过在 GitLab UI 中构建文件来轻松创建.gitlab-ci.yml文件。改进了VS Code 中的 CI/CD 集成当构建可能包含include:或extends:关键字的复杂 GitLab CI 配置时,确保配置有效并且生成的文件附和需求是一项挑战。使用GitLab Workflow for Visual Studio Code 直接在VS Code 中预览合并的GitLab CI/CD 配置文件。在提交和推送之前,可以在本地查看更改,并确保配置符合预期。Markdown 中可排序、可过滤的数据驱动表在 Markdown 中处理表格可能有点麻烦。不仅难于计算出正确的管道数和空单元格数,而且当保存文档时,表格输出也是静态的。如果必须按第三列以升序对表格进行排序,那么最终会重写整个内容。现在可以使用 SON 语法插入数据驱动表,如下所示:以JSON 格式编写或导出表。将JSON 包装在以三个反引号开头的代码块中,后跟json:table.保存问题、提评论或发布页面。在渲染表中,还可以启用:使用对特定字段进行排序"sortable": true使用动态过滤数据"filter": true使用该功能当必须对100 行表重新排序时,只需单击一下即可。将链接资源添加到事件问题(PREMIUM)在快速处理事件时,协作和效率是关键。用户不想花费宝贵的时间为每个事件设置协作工具。使用新版本,可以更轻松地显示事件Slack 频道、Zoom 会议空间或任何相关资源的链接以解决事件。GitLab SaaS Runner支持更强的Linux 机器类型(PREMIUM)在GitLab SaaS Linux 运行器上运行作业时,现在可以访问更强大的机器类型:中型和大型。使用这两种机器类型,可以为GitLab SaaS CI/CD 作业提供更多选择。借助临时虚拟机上的 100% 作业隔离,以及由GitLab 完全管理的安全性和自动扩展,可以在GitLab SaaS 上运行关键 CI/CD 作业。用于获取组转移位置的API接口新添加了一个新的Groups API 接口,该接口返回将当前组转移到的组列表。将受让人添加到任务任务代表完成一个问题所必需的离散工作单元。现在可以将任务分配给GitLab Free 中的单个人或 GitLab Premium 或 Ultimate 中的多个人。分配的任务可以从个人问题仪表板访问,并且可以由受让人从项目的问题列表中过滤。对设计的评论自动保存当在设计上键入评论时,它现在会自动保存,如果在提交评论之前不小心导航离开,可以防止丢失进度。按节奏手动创建、命名和安排迭代在15.0 中,弃用手动迭代管理。大量反馈,指出在某些情况下,自动迭代节奏管理不够灵活。在15.4 中,我重新引入了手动创建迭代的能力,并提供了改进的控制以管理节奏中的自动化设置。现在可以随时禁用或重新启用自动调度或更改持续时间和即将到来的迭代。合并请求和批准设置的专用页面合并请求和批准是GitLab 中最常用和最有用的两个功能。不过,在以前的版本中,可能很难找到这些功能的项目设置。其在Settings > General位置太不显眼。现在,可以通过直接导航到Settings > Merge requests更轻松地找到合并请求和批准的项目设置。GraphQL Schema 支持 DAST API 和 API Fuzzing(ULTIMATE)从GitLab 15.4 开始,DAST API 和 API Fuzzing 支持 GraphQL 模式来定义测试涵盖的内容。在以前的GitLab 版本中,DAST API 和API Fuzzing 支持测试GraphQL API,但测试需要 Postman 集合或 HAR 文件来定义测试参数。通过支持已经成为API 一部分的GraphQL 模式,现在可以轻松测试 GraphQL API,而无需单独定义。根据配置的测试类型,将DAST_API_GRAPHQL或FUZZAPI_GRAPHQL环境变量设置为指向GraphQL 端点。对于启用了自省的应用程序,这会将测试配置为使用模式作为测试参数的定义运行。对于禁用自省的应用程序,还需要设置DAST_API_GRAPHQL_SCHEMA变量将测试指向模式文件。在 UI 中显示部署批准注释(PREMIUM)现在可以查看和跟踪用户在查看部署时留下的评论和批准,从而提供有关手动作业被批准或拒绝的原因的更多上下文。该功能对于需要审核发布事件的高度监管行业的组织也很有用。使用Kubernetes 代理部署Helm图表新版本中可以使用Kubernetes 代理将Helm 图表部署到Kubernetes 集群。到目前为止,Kubernetes 的代理仅在其GitOps 工作流程中支持原生Kubernetes 清单文件。为了从GitOps 工作流程中受益,Helm 用户必须使用 CI/CD 作业来呈现和提交资源。当前版本附带了对Helm 的Alpha 支持。由于Helm 是一款成熟的产品,认为该解决方案是高性能的。使用快速操作添加事件时间线事件当用户正在努力解决事件时,每一秒都很重要。在此版本中,可以使用快速操作将一个或多个事件添加到事件时间线。自动禁用失败的webhook为了保护GitLab 和整个系统的用户免受少数人的潜在滥用或误用,实施了一项功能来禁用持续失败的webhook。返回该范围内的响应代码的 Webhook5xx被理解为间歇性失败并被暂时禁用。这些 webhook 最初禁用 10 分钟,每次重试时会延长最多24 小时。因错误而失败的 Webhook 将4xx被永久禁用。所有项目所有者和维护者都会在应用程序中收到警报,并且可以调查并重新启用任何失败的 webhook。将群组推送规则移至设置 > 存储库(PREMIUM)左侧边栏中组的预定义推送规则已被移动,现在将显示在下方Settings > Repository,这反映了项目中推送规则的位置。组维护者仍然可以访问此页面。支持 Google Chat 中的线程消息对Google Chat 集成,与单个问题或合并请求相关的通知现在被组织一起。API 支持立即删除组(PREMIUM)现在可以使用API 立即删除各个子组。在此版本之前,只能从UI 的组设置中删除单个子组。通过主题合并改进了管理员的主题管理管理员现在可以将源主题合并到目标主题中。此操作会删除源主题并将所有分配的项目移动到目标主题。这样,可以消除可能只是拼写不同的重复主题,并保持项目整洁。安排何时从用户个人资料页面清除状态现在可以使用个人资料页面中的状态设置来安排何时自动清除您的状态。以前,只能从设置状态模式执行此操作。简化的登录页面GitLab 登录页面已经过重新设计,以降低视觉复杂性并使登录体验更加流畅。面板:在发行卡上显示健康状态(ULTIMATE)现在可以在看板中查看问题的健康状况。每张问题卡都会显示健康状况,让团队可以一目了然地了解团队工作的健康状况。用于从项目中删除附件的GraphQL API 接口(PREMIUM)项目维护者和所有者现在可以通过GraphQL API 删除项目中的附件。如果敏感数据意外上传到镜像中或用于管理 GitLab 实例的磁盘使用情况。将面板上的卡片移动到列表的顶部或底部当面板列表中有数十张卡片时,有时很难手动将问题从顶部拖到底部或从底部拖到顶部。已发行卡片和Epic版现在有一个操作菜单,其中包含将卡片移动到卡片当前列表顶部或底部的选项。将关联的发布链接添加到单个标签页面在此更新中,现在可以在查看特定标签的信息页面时看到相关的版本。这使可以轻松了解是否已基于该特定标签创建发布并导航到发布。在环境页面上显示与已部署提交相关的标签新版本中可以在 Environments 页面上轻松查看与部署相关的标签,特别是已部署的提交。这使可以更轻松地确定当前或以前已将哪些代码部署到环境中。支持环境变量:auto_stop_in新版本中可以在指定环境的生命周期时使用变量。这使可以更灵活和动态地管理临时环境以及何时停止它们。改进了稳定的 Terraform 模板以避免破坏性更改Terraform CI/CD 模板为提供了一种将项目与Terraform 集成的快速简便的方法。但是,对gl-terraform包装脚本的更改可能会导致对stableTerraform 模板的破坏性更改。在此版本中,对包装脚本的更改显着降低了在主要版本之外发生更改的可能性。从评论中添加时间线事件事件时间表是事件记录的重要组成部分。事件时间表分解事件期间发生的事情,以及为解决事件而采取的步骤。有时,来自事件的评论是事件时间线中的重要事件。现在可以选择一个按钮将评论添加到事件时间线,而不是手动复制重要评论。GitLab Slack新应用主页App Home 为GitLab 提供了一个中心位置,用于交流新的Slack 功能并使熟悉现有功能。简化和整合GitLab Slack 应用程序的斜杠命令和通知等功能。App Home 提供了一种在整个过程中直接互动的方式。确保GitLab Slack 应用程序是最新的:转到的聊天r设置。在项目旁边,选择Slackapplication。选择重新安装Slack应用程序或配置新的Slack 集成。想了解更多关于我们的计划并参与进来吗?访问我们的 Slack 史诗。Shimo 作为 wiki 替代品Shimo是一种流行的云生产力套件,包括文档、电子表格、幻灯片和白板。通过这种集成,可直接在GitLab 中使用Shimo Wiki。顶部栏中的统一导航元素当前的顶部栏导航可能会因显示的选项数量而令人困惑和不知所措。为了提高可用性,首先,通过将菜单选项按逻辑分组来减少对菜单选项的混淆。其次,通过消除重复的导航项以及从按钮中删除“菜单”标签来消除不必要的噪音。最后,为了使全局搜索更易于访问,将搜索移至菜单图标旁边。这符合我们将搜索与导航联系起来并帮助用户回到其正在处理的事情上的目标。Omnibus套件GitLab 15.4 包括Mattermost 7.2,具有频道的消息转发等等。此版本还包括安全更新,因此建议从旧版本升级。GitLab Runner 15.4同期还发布了GitLab Runner 15.4,包括:新功能:连续屏蔽超过 4 KiB 的屏蔽变量Bug修复:在GitLab 14.8 上,注册跑步者因模板配置合并而失败。Gitlab Runner 助手镜像不使用alpine 3.15。Runner管理区域列表的设计改进Runner列表现在使用 GitLab 更新的列表设计标准。对于自建实例的GitLab 管理员或组所有者,则现在可以看到关键的Runner数据。此外,新的界面元素应该有助于减少认知负担并使页面更易于浏览。图标不是文本,而是传达状态,并且标签有自己的列。GitLab 图表改进GitLab 15.4 包括通过GitLab Helm 图表配置和使用Kerberos身份验证的能力。安全和合规性经过验证的域上的用户可以绕过电子邮件验证使用SAML 或SCIM 创建的属于已验证域的新GitLab用户不再收到GitLab 帐户验证电子邮件。这减少了帐户激活问题。通过配置过程生成的帐户已经过验证,因此用户无需手动单独验证它们。使用徽章识别机器人用户以前,很难直观地识别机器人用户。机器人用户现在在组和成员列表中拥有一个机器人徽章(Bot)。使用API 限制对组的访问(PREMIUM)以前,IP 地址限制只能在GitLab UI 中配置。现在,可以使用API 添加逗号分隔的IP 地址或子网掩码列表。这样可以以代码方式配置P地址限制。流式审核事件自定义验证令牌(ULTIMATE)现在可以指定一个值作为流审计事件使用的验证令牌。对于必须用于验证事件的值由第三方系统规定的情况,这是一个很大的改进。例如,如果将流式审计事件发送到第三方系统,并且该系统需要特定值,现在可以直接在GitLab 中指定该值,而不必查看GitLab 随机生成的值然后更新其他系统。简化的 SAST 分析仪覆盖范围更新GitLab SAST CI/CD 模板,将用于JavaScript、TypeScript、React、Go、Python 和 Java的SAST 分析器替换为基于Semgrep 的扫描。每种语言的基于Semgrep 的扫描覆盖率使用GitLab 管理的检测规则来检测各种安全问题。GitLab 的静态分析和漏洞研究团队共同努力将规则从以前的分析器转换为Semgrep 格式,保留大多数现有规则。这一变化是我们提供更一致的用户体验、更快的扫描时间和减少CI 分钟使用量的长期战略的一部分。创建 API 接口以更新受保护的环境(PREMIUM)在新版本中,为受保护环境 API 添加了一个新接口,可让更新配置设置。可以使用端点来更改允许部署的人员以及需要多少批准。在SAST 中更快、更轻松的C# 扫描GitLab 静态应用程序安全测试 (SAST) 现在提供基于Semgrep 的C# 代码扫描。与已过渡到基于Semgrep 的扫描的其他语言一样,C# 扫描覆盖率使用GitLab 管理的检测规则来检测各种安全问题。新的基于Semgrep 的扫描运行速度明显快于基于安全代码扫描的现有分析器。它也不需要在扫描之前编译您的代码,因此使用起来更简单。GitLab 的静态分析和漏洞研究团队合作将规则转换为Semgrep 格式,保留大多数现有规则。如果使用GitLab 管理的SAST 模板( SAST.gitlab-ci.yml),现在只要找到C# 代码,基于Semgrep 和安全代码扫描的分析器就会运行。在 GitLab Ultimate 中,安全仪表板结合了来自两个分析器的结果,因此不会看到重复的漏洞报告。在未来的版本中,更改GitLab 管理的SAST 模板(SAST.gitlab-ci.yml) 以仅运行基于 Semgrep 的C# 代码分析器。基于安全代码扫描的分析器仍将扫描其他.NET 语言的代码。静态分析分析器更新GitLab 静态分析包括GitLab 静态分析团队积极管理、维护和更新的许多安全分析器。在 15.4 版本里程碑期间发布了以下分析器更新。这些更新带来了额外的覆盖范围、错误修复和改进。Kics 分析器:更新了以添加其他规则、修复错误并更新到 kics 版本 1.5.13。有关详细信息,请参阅变更日志。NodeJSScan分析器:更新到0.3.3 版。安全代码扫描分析器:更新到版本5.6.5。有关详细信息,请参阅变更日志。Semgrep 分析器:更新到版本0.110.0:现在可以–max-memory使用新的SAST_SCANNER_ALLOWED_CLI_OPTSCI/CD 变量设置 Semgrep 标志。该变量接受一组有限的选项并将它们传递给底层扫描器。秘密分析器:已更新:修复了一个错误,该错误会导致在SECRET_DETECTION_HISTORIC_SCAN设置 CI/CD 变量时运行历史扫描,而不管变量的值如何。添加了一条规则来检测泄露的GitLab Pipeline Trigger Tokens。SpotBugs 分析器:更新为对Gradle 项目使用“组装”任务。Bug修复15.4 中修复大量Bug:管道 WebHook 间歇性地具有不正确的已完成事件(取消/成功);将链接的管道视图从 GitLab Free 移动到 GitLab Core;修复内部服务器错误:bsearch使用远程包含时未定义的方法;如果使用 UI 创建发布,则未收集 Gitlab 发布证据;资源组超时;在内容编辑器中创建新链接时,工具提示不显示URL 或标题;将内容编辑器的安装时间减少了9 倍,以缩短初始加载时间;当用户没有能力时删除创建项目提示;使用自定义名称返回 OpenID Connect 提供程序的配置;跳转到下一个未解决的线程按钮应在用户滚动页面时跟踪位置;/reassign在合并请求中使用时 API 缓存不会失效;为项目加星标会导致 Gitlab 显示有关项目上次更新时间的错误信息;名称较长的群组中的 UI 在移动设备上已损坏;SAST MR 小部件显示错误的结果;从发现或漏洞创建的问题中的位置无效;在线 GC:清单删除时的锁定争用;使用 UBI 图像时,GitLab 页面无法在 GitLab Helm 图表中启动;GitLab Omnibus 包中默认未创建传入电子邮件机密文件;修复 VSA 完成阶段图表的时间,从显示 0 值无数据;Geo:禁用托管对象复制时,辅助节点上的 LFS 对象删除无效;地理位置:从辅助到主的 LFS 重定向可能在会话中不起作用;Geo:修复文件同步并发限制;修复了某些分叉的 MR 上损坏的“运行管道”按钮;全新安装 gitlab 时,漏洞管理选项卡为空;ActiveRecord::RecordInvalid:验证失败:名称已被占用;组名称未正确呈现在导出的组成员列表中;未经授权的用户无法加载板;板边栏链接应继承文本颜色;CMD+K 链接粘贴无法按预期工作;在组中查看史诗时,按名称排序总是失败;在设计笔记上实现自动保存机制;活动源中的工作项引用指向错误的位置;修复具有项目的子组成员的父组授权;问题和MR创建页面上未对齐的降价标签;FOSS master 在spec/graphql/resolvers/group_issues_resolver_spec.rb 中损坏;spec/lib/gitlab/background_migration/rename_task_system_note_to_checklist_item_spec.rb 中的坏主;Epics 路线图的周总是从星期日开始,即使一周的第一天是星期一;手动创建的漏洞都共享一个共同的位置;应用过滤器时,史诗列表页面上选项卡中的史诗数量不反映更新的数量;秘密检测忽略功能分支中的 SECRET_DETECTION_HISTORIC_SCAN;由于行为不一致,在 Spotbugs 中删除了对基于Ant 的项目的支持;外部状态检查的序列化错误;提高了子组和项目创建的消息传递清晰度;板卡位置行中断不正确;退出时未加载公共问题详细信息;搜索工具不适用于以俄语创建的任务;搜索包含非 ascii 字符的查询时出现问题;PlantUML 不解析 ReSTRUCTURED 文件;禁用项目上的“autoclose_referenced_issues”后问题会自动关闭;Rake 任务gitlab:uploads:migrate迁移部分上传失败;从自建实例中删除过时的 wiki 注释;性能改进在 GitLab 15.4 中,在问题、项目、里程碑等提供了性能改进,包括:Geo::MetricsUpdateWorker 缓慢的总作业工件计数;将ee/app/assets/stylesheets/pages/requirements.scss 转换为特定于页面的包;导航栏中的自动完成下拉菜单应该加载得更快;内存看门狗应该重新启动高内存工作人员。可用性改进GitLab 15.4 中,在问题、项目、里程碑等提供了可用性改进:顶部栏中的统一导航元素;任何范围的令牌都可以使用自撤销API;GPG 密钥电子邮件页面的本地化;将未解决的线程操作合并到一个控件中;为并排布局打包重复设置UI更新;未进行任何更改时,容器注册表清理策略表单中的保存更改按钮被禁用;Container Registry 清理策略移至单个页面;在URL中保留作业过滤器;功能变更和删除引用 Docker 的容器扫描变量;未过期的访问令牌;用于 Kubernetes 的 GitLab 代理的配置中的右舷指令;在合并请求中切换草稿快速操作的行为;漏洞置信度字段;Saas上提供基于证书的 Kubernetes 集成,到2023 年2 月如果GitLab 15.0 之前开始在 GitLab Saas上使用基于证书的 Kubernetes 集成,则可以继续使用它直到15.6。将在 15.8 中删除支持。相关用户必须在2023年2月之前迁移到Kubernetes 代理。自建GitLab 实例上提供基于证书的 Kubernetes 集成到17.0当基于证书的 Kubernetes 集成被弃用时,用户需要在GitLab 16.0 中将其移除之前迁移到替代解决方案。支持将在 17.0 中删除。用户必须在2024年5月之前迁移到Kubernetes 代理。在此期间,GitLab 计划为代理提供一组更新的功能。升级更新Omnibus通过Omnibus安装的自建实例可直接使用Linux包管理器可以升级。例如对CentOS:yum updata/install gitlab-ce就能自动完成升级。Docker先停止和删除旧的容器:sudo docker stop gitlab
sudo docker rm gitlab然后Pull官方最新镜像:sudo docker pull gitlab/gitlab-ce:latest重新启动容器(启动参数和以前保持一致)即可,比如:sudo docker run –detach \
–hostname gitlab.example.com \
–publish 443:443 –publish 80:80 –publish 22:22 \
–name gitlab \
–restart always \
–volume /srv/gitlab/config:/etc/gitlab \
–volume /srv/gitlab/logs:/var/log/gitlab \
–volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latestDocker compose通过:docker-compose pull
docker-compose up -d关于升级到 GitLab 15.4 的重要说明检测到与Geo 辅助站点上的对象存储文件错误删除有关的问题。以下环境下,该问题会影响 GitLab 15.0、15.1、15.2 和 15.3.0 到 15.3.2:GitLab 管理的对象存储复制被禁用,并在导入启用对象存储的项目时创建 LFS 对象。启用并随后禁用GitLab 管理的同步对象存储复制。15.3.3 中包含一个修复程序。同时启用LFS 和跨地理站点复制LFS 对象的客户应直接升级到 15.3.3 以降低辅助站点上数据丢失的风险。官方检测到一个Geo 问题,其中LFS 传输从辅助站点mid-session 重定向到主站点,导致拉取和克隆请求失败。启用Geo代理时可能会出现此问题。Geo代理在 GitLab 15.1 及更高版本中默认启用,因此这会影响GitLab 15.1、15.2 和15.3.0 到 15.3.2。GitLab 15.3.3 中包含一个修复程序。具有以下配置的客户应升级到 GitLab 15.3.3 或更高版本:启用LFSLFS 对象正在跨Geo站点复制正在使用Geo 辅助站点提取存储库。在 GitLab 15.5 中,将默认为GitLab Helm Chart介绍GitLab Logger的使用。对于拥有自定义日志解析器的用户,请注意,这将自动将所有日志包装在结构化JSON 中,之前它们是纯文本。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/47636/