成功测试
成功测试

您现在的位置: 成功测试简介_成功测试分数 > 成功测试分类 > GitLab143发布,WYSIWYG

GitLab143发布,WYSIWYG

发布时间:2023/4/7 17:07:28   点击数:
白癜风治疗 的药 https://m-mip.39.net/baidianfeng/mipso_4688851.html

又是到了Gitlab月度版本发布时候,首先恭喜Gitlab上周发布了上市申请之前的S-1文件,文件显示Gitlab一年内效益不错得到市场认可,另外S-1的发布预示者即将正式上市,Gitlab将会赢来更大更进一步的发展。好了言归正题,请和虫虫一起学习新版本Gitlab14.3带来的新功能。

GitLab14.3主要功能介绍

在新的wiki编辑器中直观地编辑表格的结构

Markdown支持表格操作,但是向其增加列的内容时候比较费劲,需要涉及对每一行进行非常重复且容易出错的编辑。一个错误或错位

,表格就无法呈现。

新版本wik中的WYSIWYGMarkdown编辑器让可以使用工具栏中的按钮快速轻松地插入表格。但是,在选择初始行数和列数后,处理表的结构可能会更加困难。在GitLab14.3中,可以单击任何选定单元格右上角的插入符号图标,在选定单元格之前或之后添加或删除列和行。现在,随着内容的扩展,复杂性不会随之而来。

受保护环境的组级权限(PREMIUM)

通常,大型企业组织在开发人员和运营商之间有明确的权限边界。开发人员可以在开发环境等低层环境中部署和测试应用程序。Operator负责部署到生产环境等更高层的环境。此外,在单个组下可能有数千个项目的组织中,确保正确配置所有项目级受保护环境不是可扩展的解决方案。

在新版本中,新引入了基于部署层作为标识符的组级受保护环境。这使运营商能够负责任地将部署锁定到更高级别的环境,而不会不必要地阻止开发人员作为各自项目的维护者开展工作。

基于条件的IncludeGitLabCI/CD配置

include是编写完整CI/CD管道时最常用的关键字之一。对于构建更大的管道用户,可能会使用include关键字引入外部YAML配置管道。

在新版本中,扩展了该关键字的功能,用户可以使用include和rules条件。现在,可以决定何时应该或不应该包含外部CI/CD配置。这将帮助用户编写一个标准化的管道,能够根据您选择的条件动态修改自身。

在其他变量中使用变量

CI/CD管道执行场景可能取决于扩展管道中声明的变量或在另一个变量声明中使用GitLab预定义变量。14.3中,在GitLabSaaS上启用了“变量插入变量”功能。可以定义一个变量并在同一管道内的另一个变量定义中使用它。并且还可以在另一个变量声明中使用GitLab预定义变量。该功能简化了管道定义并消除了由可变数据复制引起的管道管理问题。

注意:对于GitLab自建实例用户,默认情况下禁用该功能。要使用此功能,管理员需要启用功能标志。

审核受保护分支设置更改的事件(PREMIUM)

当对受保护分支进行更改时,GitLab现在会记录额外的审计事件。具体来说,在更改以下内容时会创建事件:

谁被允许推到分支。

谁被允许合并到分支。

是否需要代码所有者批准。

是否允许强制推送。

这使用户能够更清楚地了解GitLab中正在发生的事情,并确保控制措施已就位且未被更改。这有助于确保成功通过需要职责分离的审计。当控件发生更改时,审计事件将帮助了解更改的时间和人员,以深入挖掘并了解原因。

过滤项目级价值流分析

项目的价值流管理变得更好。新版本中可以按里程碑、标签、作者或受让人过滤阶段中的工作项,以查看您最感兴趣的问题和合并请求的阶段时间。

默认情况下颁发的OAuth访问令牌过期

默认情况下,在14.3版本之后发布的任何OAuth访问令牌都有2小时的过期窗口。之前OAuth访问令牌永不过期,这是不安全的。用户可以通过取消选中OAuth应用程序UI上的过期访问令牌复选框来禁用此选项。

按设定日期过滤路线图视图(PREMIUM)

当在很长的时间范围内查看团队的进度时,路线图画布的水平特性会增加大量的水平滚动。

在新版本中,可以使用路线图搜索栏左上角的预定日期范围选项来减少无限滚动交互。可以跳转到需要的日期,路线图会快速放大感兴趣的区域。

按源过滤管道视图中的管道

“CI/CDPipelines”中的项目管道列表显示了项目的所有管道,但无法按管道源过滤列表。GitLab14.3中,用户可以根据api、schedule、等来源轻松过滤管道列表merge_request_event。

GitLab页面支持splat(通配符)和占位符重定向

GitLabPages支持多种重定向规则,包括重定向和重写。在新版本中,还可以使用splats(又名通配符)和占位符将页面内容重定向到特定页面。

支持Kubernetes1.20

在GitLab14.3中,新添加了对Kubernetes1.20版的支持。GitLab用户可以从具有许多功能的 集群版本中受益,例如GitLabKubernetes代理、AutoDevOps和集群管理项目。

GEO复制Pages部署(PREMIUM)

使用GitLabPages,可以直接从GitLab中的存储库发布静态网站。在灾难恢复场景中,已经可以在故障转移到新的主站点后重新生成Pages站点。但是,Geo现在也复制了Pages部署。这提供了额外的数据丢失保护,并通过消除故障转移后重新生成页面的需要来减少恢复时间。

合并请求批准设置更改的审计事件(PREMIUM)

如果对项目中的合并请求批准设置进行了更改,现在会创建审核事件。现在可以查看是否对以下策略进行了更改:

需要用户密码进行审批。

允许在合并请求中修改合并请求批准。

将新提交添加到合并请求时需要获得新的批准。

现在可以确信,一旦配置了批准设置,就可以快速查看它们是否已更改。这是向审计员展示控制措施已经到位并且没有被删除或修改的好方法。

显示在用户个人资料页面上的GPG密钥

在以前版本的GitLab中,没有简单的方法可以查看用户的GPG密钥。我们在个人资料页面上添加了一个按钮,允许一键查看用户的GPG密钥。

为高级客户显示基于DORAAPI的部署频率指标(PREMIUM)

此更改在高级客户的组级价值流分析中启用基于DORAAPI的部署频率指标。这可以帮助了解用户提供增加价值的频率。此外,更高的部署频率意味着能够获得反馈并更快地迭代以交付改进和功能。

在新的Wiki编辑器中预览多媒体

在wiki页面中包含多媒体是有效和高效交流复杂内容的好方法。GitLabFlavoredMarkdown支持嵌入视频和音频内容进行播放。但是,当编辑页面时,媒体在代码中由文件路径表示,这可能会导致混淆或不确定您是否上传了正确版本的文件。

在GitLab14.3中,Wiki中新的WYSIWYGMarkdown编辑器在编辑器的右侧呈现和播放页面上的现有视频和音频内容。现在,您无需离开编辑器就可以确定附加的recording_final.mp3orwalkthrough.mp4确实是正确的资产。目前,这仅适用于页面加载到编辑器时已包含在页面中的媒体。在即将到来的里程碑中添加对从编辑器插入新视频和音频内容的支持。

支持将CI/CD规则数组与!reference

今年早些时候引入的YAML!reference标签可帮助用户重用和组合配置。这是一种非常灵活的方法,可以将频繁重用的配置与一个或多个作业中的作业特定配置相结合。但是,rules

尚不支持将其与关键字一起使用。在14.3中,添加!reference了对rules关键字的支持,现在可以rules更轻松地混合和匹配,包括来自不同文件的配置。

在PyPIorg中搜索GitLab中未找到的包(PREMIUM)

可以将GitLab包注册表与源代码和管道一起用作私有PyPI索引。团队通常依赖私有索引和公共索引的组合。PyPI通过提供允许您指定要下载的多个索引的-index和extra-index-url参数来支持这一点。安装包时pip将下载它可以找到的 匹配,在所有可用索引之间,不按优先级顺序。例如,无论索引之间的优先级如何,都将选择包的 版本,因为它是 版本。这给某些组织带来了安全问题,因为它会使您容易受到依赖混淆攻击。例如,开发人员可能会安装一个包,认为它来自私有GitLab项目,但实际上是从公共存储库下载的。

新版本中可以将GitLab包注册表与源代码和管道一起用作私有PyPI索引。当尝试从GitLab项目安装PyPI包但未找到该包时,请求将转发到PyPI-org。如果包名称存在于私有注册表中,它就会从公共存储库的查找中排除。这样做是为了使攻击者无法通过将具有相同名称和更高版本的包上传到PyPI来注入代码。

通过UI界面删除部署冻结期

为防止意外部署CI/CD作业,您可以设置部署冻结期。直到最近,还可以仅通过使用API来消除部署冻结期。此版本允许您直接从GitLab界面中删除部署冻结期,从而提高了易用性。此功能是社区贡献。

用于检索通话用户的API接口(PREMIUM)

确定谁在待命应该是快速而容易的,尤其是在发生活动事件时。新版本添加了一个API调用,用于返回项目的每个升级策略的待命用户。

GitLab环境工具包(GET)1.2现已推出(PREMIUM)

该GitLab环境工具包,部署和操作基于生产GitLab实例的工具参考架构,现在已经达到了1.2版本。

1.2的亮点包括支持AWSRDS、Elasticache、GeoonCloudNative混合部署,以及Omnibus和Helm中的所有设置。

GitLabHelmchart改进

在解决了最初的需求后,新版本中删除Sidekiq管理面板的额外入口路径。这样解决了外部Ingress提供者(例如Google的GCE和Amazon的ALB)的一些复杂问题。

GitlabRunner14.3

同期还一起发布了GitLabRunner14.3,主要更新包括:

新增加Fedora33和34的GitLabRunnerRPM包。

使用Kubernetesaffinity/anti-affinityinter-pod将分配到运行节点。

IBMPOWER9上的GitLabRunner(Linux操作系统)

IBMPOWER9(ppc64le计算架构)系统可用于计算密集型工作负载,则需要在其上运行GitlabRunner。新版本中现在可以安装和使用由GitLab构建和支持的Runner程序执行GitLabCI/CD作业。

Bug修复

Shell执行程序不清理构建目录

Omnibus的改进

内置Mattermost升级到了5.38,这是一个开源的Slack替代品。 版本带有许多功能和修复,包括可能需要几分钟才能完成的数据库迁移。

安全和合规性审计

项目级DAST和秘密检测扫描执行策略(ULTIMATE)

这是统一安全策略的目标的 个迭代版本。用户现在可以独立于.gitlab-ci.yml文件的内容要求DAST和密码检测扫描定期运行或作为项目CI管道的一部分运行。这允许安全团队单独管理这些扫描要求,而不允许开发人员更改配置。可以通过导航到项目中的“安全与合规策略”页面来配置使用这些策略。

授予组访问GitLabKubernetes代理的权限(PREMIUM)

GitLabKubernetes代理提供了Kubernetes集群和GitLab之间的安全连接。在GitLab14.2之前,CI/CD隧道只允许从注册Kubernetes代理的同一项目推送到集群。在GitLab14.3中,可以授权代理访问整个组。因此,授权组下的每个项目都可以访问集群,而无需为每个项目注册代理。

下一代SAST扫描器(ULTIMATE)

GitLabSAST一直依赖由十多个开源静态分析安全分析器提供支持。这些分析器每个月都为使用GitLab的开发人员主动识别数百万个漏洞。这些工具使用各种不同的方法来识别漏洞,从基本的正则表达式模式匹配到抽象语法树解析,这可能会导致误报问题。GitLab的Secure工具已经提供漏洞指纹识别,允许持续消除这些误报。

新版本中附带发布的为GitLab的静态分析和漏洞研究小组在内部构建并维护的专有静态应用程序安全测试引擎的 个版本。最初,该工具专注于Ruby和Rails,以帮助减少误报。

GitLab的下一代SAST引擎吸取了Gitlab官方运行和维护支持GitLabSAST的开源安全工具并应用 的程序分析技术的经验。新引擎利用包括数据和控制流分析在内的程序表示和一种新颖的模式提取语言,可用于漏洞检测和消除其他集成安全工具可能错误报告的漏洞。

Gitlab的源代码管理、CI/CD和安全扫描提供了软件开发生命周期(SDLC)的深度集成安全测试,可以快速、准确和可扩展的安全结果。

可用于依赖代理的新API

为了减少构建时间、避免DockerHub速率限制并减少外部依赖项,可以使用GitLabDependencyProxy从DockerHub代理和缓存容器镜像。

新版本中可以使用GitLabGraphQLAPI查询有关代理依赖的细节。可以使用新的API来发现有关镜像及其底层组件的详细信息,以便确定组中正在使用哪些容器镜像和标签。

接下来,将使用新API对用户界面进行重大更新。

Java15许可证合规性支持(ULTIMATE)

许可证合规性现在支持Java15项目。可以设置变量LM_JAVA_VERSION为15来实现项目的检查。

静态分析分析器更新

GitLab静态分析由一组许多安全分析器组成,14.3中附带的分析起版本做了更新:

Brakeman更新至5.1.1版,性能有大幅度提高。

Eslint更新7.30.0版。

PMDApex更新到版本3.38.0。

Spotbugs更新至2.28.6版。

Semgrep更新到0.65.0版,包括性能改进,忽略缩小的文件,改进错误消息等。

GitLab托管的供应商SAST模板(SAST.gitlab-ci.yml),则无需执行任何操作即可接收这些更新。但是,如果覆盖或自定义您自己的CI模板,将需要更新的CI配置。如果想继续使用任何分析器的特定版本,现在可以固定到分析器的次要版本。固定到以前的版本将阻止接收自动分析器更新,并要求在CI模板中手动增加分析器版本。

Bug修复

14.3中的一些值得注意的错误修复是:

依赖代理配置加载不正确。

依赖代理在启SSO的情况下不起作用。

Helm搜索不返回已发布的图表。

通用软件包的下载链接不公开。

项目搜索在搜索非默认分支时使用PostgreSQL进行计数请求。

手动重命名环境会破坏未来的部署。

直接resource_grou使用时CI/CD关键字不起作用$CI_ENVIRONMENT_NAME

如果为项目禁用了“GitLab问题”,则创建Jira问题按钮不会显示在漏洞列表和MR小部件上。

在威胁监控中编辑预定义的策略会导致错误。

旧漏洞检查只应针对“严重”、“高”和“未知”。

不可解析的容器策略无法删除。

没有策略管理项目就无法编辑现有网络策略。

组级漏洞报告上的项目过滤器仅显示前个项目,而不是全部。

DevOps采用页面不断刷新。

为高级客户显示基于DORAAPI的部署频率指标。

无法保存自定义VSA报告。

在没有作者的情况下显示带有注释的讨论会导致错误。

Epic的批量编辑标签使用随机文本更新描述。

以未登录用户身份访问公共群组中的Epic可能会失败。

未找到记录时,测试用例返50而不是。

单个文件编辑器的实时Markdown预览不适用于个人项目、子组或相对URL。

减少内容编辑器列表项的间距。

当文件包含非ASCII字符且扩展名不是.txt时,WebIDE建议下载文件而不是编辑它们。

Projectfeatures不验证EE功能。

WikiHEADref未在Geo辅助站点上复制。

多架构容器未正确将非主要架构复制到辅助地理节点,UI显示复制成功。

用户必须在启用2FA之前验证电子邮件。

问题受理人未在侧边栏上更新。

编辑多个Epic标签会删除所有现有标签。

将目录中显示的条目数量限制为0。

性能改进

在GitLab14.3中,在问题、项目、里程碑等方面提供了性能改进:

从Packages::Package模型中删除子事务。

从Packages::Composer::CacheFile模型中删除子事务。

从Packages::BuildInfo模型中删除子事务。

急切负荷Packages::DependencyLink。

NPM元数据端点的慢速SQL查询。

引入缓存sidebar_extras。

在ProcessRequirementsReportsWorker上一个不可恢复的错误重试。

组问题列表的缓存状态计数(无过滤器)。

调用FilesAPI时避免在内存中加载整个blob。

BranchHooksService在此期间获取太多提交PostReceive。

使PostReceive#perform幂等。

可用性改进

GitLab14.3中,在问题、项目、里程碑等提供了可用性改进:

在全局搜索的结果计数中添加逗号。

测试报告详细信息中的代码块在暗模式下颜色不佳。

显示Composer的可用元数据。

显示PyPI的可用元数据。

以百分比形式显示小部件中的性能变化。

为达到搜索结果计数顶端的搜索显示x+。

管道工件下拉列表中的文本被截断。

没有工件的管道在管道上显示一个空白的下拉列表。

将管道安全报告模式中的“扫描仪”重命名为“工具”。

解决方案链接始终显示在漏洞模式中。

在问题标题中显示被禁止用户创建的问题的图标。

在板上显示被禁止用户创建的问题的图标。

SAML同步应在删除直接成员列表之前发出警告。

功能删除

存储库推送事件的审计事件

变更日期:年5月22日

存储库事件的审计事件现已弃用,并将在GitLab15.0中删除。

默认情况下,这些事件始终处于禁用状态,必须使用功能标志手动启用。启用它们可能会导致生成过多的事件,这会显著降低GitLab实例的速度。出于这个原因,正在被删除。

Gitlab应用无服务器

变更日期:年5月22日

GitLabServerless是一个功能集,通过自动部署和监控支持基于Knative的无服务器开发。

由于实际上并无真正用户在使用,另外Kubernetes和Knative都在飞速更新,老版本实现已经落后。计划删除GitLabServerless功能。

旧数据库配置

变更日期:年5月22日

database.yml中的GitLabs数据库配置的语法正在发生变化,不再推荐使用旧格式。旧格式支持使用单个PostgreSQL适配器,而新格式正在更改以支持多个数据库。main:需要将数据库定义为 个配置项。

该变更主要影响从源代码编译GitLab的用户,Omnibus会将自动处理此配置。

用于Git存储库存储的NFS已弃用

变更日期:年6月22日

随着GitalyCluster(在GitLab13.0中引入)的普遍可用性,已经弃用了GitLab14.0中的Git存储库存储的NFS的开发(错误修复、性能改进等)。在14.x中继续为Git存储库的NFS提供技术支持,在GitLab15.0中删除对NFS的所有支持。

GitalyCluster为我们的用户提供了巨大的好处,例如:可变复制因子、强一致性、分布式读取能力。

建议当前使用NFSforGit存储库的用户都进行迁移。

OmniAuthKerberosgem

变更日期:年5月22日

在omniauth-kerberosgem将在GitLab15.0中删除。该gem没有维护,很少有用户使用。因此,计划取消对这种身份验证方法的支持,并建议改用KerberosSPNEGO集成。

发布CLI作为通用包分发

变更日期:年12月22日

从GitLab14.2起release-cli作为一个普通的包发布,目前继续将其作为二进制文件部署到S3,直到GitLab14.5会停止,并在GitLab14.6的S3中分发。

TaskRunnerpod重命名为Toolbox

变更日期:年10月22日

TaskRunnerpod用于在GitLab应用程序中执行定期内务管理任务,并且经常与GitLabRunner混淆。因此,TaskRunner将重命名为Toolbox。

这将导致子图表的重命名:gitlab/task-runnertogitlab/toolbox。生成的pod将按照的方式命名{{.Release.Name}}-toolbox,通常是gitlab-toolbox.它们可以通过标签定位app=toolbox。

为作业限制级 49个标签

变更日期:年9月22日

在14.3中,GitLabCI/CD作业必须少于50个标签。如果管道包含具有50个或更多标签的作业,将收到错误并且不会创建管道。

列出项目管道API端点name在14.3中删除了支持

变更日期:年9月22日

在GitLab14.3中,将删除在列表项目管道API接口中使用name过滤的功能,以提高性能。如果当前将此参数用于该接口,则必须切换到username。

使用旧存储设置

变更日期:年9月22日

对Omnibus安装中的gitlab_pages[use_legacy_storage]设置的支持已被删除。

在14.0中,删除domain_config_source了以前不推荐使用的内容,并允许用户指定磁盘存储。在14.0中,添加use_legacy_storage了一个临时标志来取消阻止升级,并允许与用户一起调试问题,但它已忽略并在14.3中进行了删除。

升级更新

Omnibus版升级

通过Omnibus安装的自建实例可直接使用Linux包管理器可以升级。例如对CentOS:

yumupdata/installgitlab-ce

就能自动完成升级:

docker安装的实例

先停止和删除旧的容器:

sudodockerstopgitlab

sudodockerrmgitlab

然后Pull官方 镜像:

sudodockerpullgitlab/gitlab-ce:latest

重新启动容器(启动参数和以前保持一致)即可,比如:

sudodockerrun--detach\

--hostnamegitlab.example.

转载请注明:http://www.81guangchang.com/cgfl/16909.html

网站简介 | 发布优势 | 服务条款 | 隐私保护 | 广告合作 | 合作伙伴 | 版权申明 | 网站地图

当前时间:


冀ICP备20001468号-10