GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

按发布照惯例,Gitlab日前发布了一个新的中等版本V 12.6版本。该版本中主要包括了一些安全功能(主要都是收费功能)和发布证据功能,可帮助可以更有效地监视应用程序安全性和发布项目的合规性。发布还实验性增加了一个更高效的多线程的Ruby应用服务器,以替代当前使用的Unicorn等。更多功能请追随虫虫一起学习。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

GitLab 12.6关键功能

通过项目安全等级快速了解你的风险项目(ULTIMATE)

使用GitLab 12.6,新增加"项目安全状态"面板显示了如何根据项目的安全配置文件对项目进行排名。让开发主管易于快速了解项目中可能存在的风险。

组安全仪表板中将加入新的"安全等级"功能。除了现有的漏洞列表和历史记录之外,新功能让我们了解哪些项目受到的影响最大/风险最大,因此可以直接转到最需要关注的项目。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

项目上检测到漏洞的严重性都用于创建简单的A到F字母等级。项目按等级进行分组,因此可以轻松地查看哪些项目存在未解决的漏洞(A级)到至少具有1个严重级漏洞(F级)的漏洞。

版本发布增加证据收集功能以便审计

几乎每个企业开发团队都应记录并证明每个发行版均符合其团队的政策、程序和控制。当开发团队在许多组织中发布代码更改时,他们需要在SDLC中记录其符合组织流程和政策的证明。一般需要通过手动添加文档予以说明,将来可以通过审核查看合规性,这可能很耗时且效率低下。GitLab 12.6新增加以JSON对象形式的附带版本发布证据文件使审核和合规性变得更加容易,证据文件包含指向该发布中所包含的里程碑和问题的链接,可以帮助简化未来的审核。每一个发布都具有Evidence collection入口,通过该入口可以查看JSON格式的版本元数据的快照。该快照可以作为监管链来利用,以支持审核和合规性流程,例如审核。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

按发布过滤问题和合并请求

规划和管理发行版可能比较复杂,如果能够快速找到相关问题并合并请求,可以大大减轻团队的管理工作。在12.6新版本中,新添加了按发行版名称过滤问题和合并请求的功能,可以通过查找与特定发行版关联的项目,提高版本发行的管理效率。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

通过Puma减少GitLab内存使用(实验性)

为了减少GitLab的内存需求,官方正计划从Unicorn迁移到Puma。Puma支持多线程,可以将GitLab的内存占用减少约30%

目前对Puma的支持尚处于试验阶段,官方正在努力在13.0中默认启用Puma替代Unicorn。

现在可以手动配置在测试使用:

unicorn['enable'] = false

puma['enable'] = true

Puma的一些设置:

puma['worker_processes'] = 3

puma['worker_timeout'] = 60

puma['min_threads'] = 4

puma['max_threads'] = 4

设置Puma内存限制

puma['per_worker_max_memory_mb'] = 850

集成Circuit发布通知

Unify的Circuit是许多组织使用的协作和通信系统。与GitLab中的其他通知集成类似,新版本中可以配置webhook,以将特定的通知发送到Circuit。通知链接到的GitLab项目,避免在电子邮件客户端之间进行上下文切换,就可保持最新的GitLab活动。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

通过Merge Trains来保持合并的提交历史记录(PREMIUM及以上)

Squash-and-Merge可以将所有合并请求的提交合并为一个,可以让默认分支中保留干净历史记录的同时将整个提交历史记录保留在合并请求中。在新版本中,为Merge Trains添加了squash支持,该功能允许在合并之前基于合并后的代码的结果运行构建,以保持主分支洁净。这两个功能的结合将确保主分支始终保持绿色,同时获得合并的提交历史记录。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

Package Registry 中用Conan用管理C/C++软件包(PREMIUM及以上)

对于任何开发组织而言,拥有一种简单且安全的方式来管理依赖关系至关重要。程序包管理工具(例如C/C++开发人员的Conan)提供了一种标准化的方式来跨项目共享和版本控制这些库。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

GitLab 12.6新版本中可使用内置的Conan存储库保持私有和公有的二进制包。可以从源代码,自动化的GitLab CI管道,编译安装包都通过Gitlab一栈管理,可以大大有提高其整体效率和速度。开发人员可以将打包的库发布到项目的Conan存储库中。只需将Conan控制器设置为GitLab包注册表,即可立即开始上载,安装和删除软件包。

集中式界面查看项目安全性和合规性配置(ULTIMATE)

Gitlab 12.6进一步加强了项目安全和合规性管理功能,新增加安全扫描仪功能。将在左侧导航栏中的"安全性和合规性"部分下看到一个新的"配置"选项。该用户界面将显示可用的安全扫描,已配置的扫描,并提供指向相关扫描仪文档的链接。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

GitLab 12.6 主要功能介绍

通过软删除项目来保护你的项目数据

当前,通过UI或API删除GitLab中项目是马上生效,不可逆和不可恢复的,不需从备份中还原。这有可能导致意外的数据丢失,这对于团队来说是最坏的情况。

为了降低这种风险,GitLab 12.6引入了项目的软删除。不是立即删除项目或组,而是将资源标记为删除,并在可配置的软删除时间范围后将其删除。虽然默认时间范围是7天,但是希望保留立即删除的实例可以将其设置为0。

预览OpenAPI规范

OpenAPI(以前称为Swagger)规范是用于定义RESTful接口的流行标准。但是,阅读YAML源可能很困难。在GitLab 12.6中,当查看openapi.yml文件(或其他受支持的文件名)时,将使用与Swagger相同的界面来显示规范的渲染预览。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

更轻松地在合并请求中的选项卡之间导航

合并请求是检查,测试和讨论源代码的地方,之前这个地方可能有些乱。合并在一起的请求描述,管道和安全扫描结果通常会把导航选项卡推到页面最下方,这样不好寻找和点击。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

GitLab 12.6新版本中,合并请求导航被挪到了描述的上方,从而可以快速,轻松地直接跳转到更改。另外,描述和窗口小部件现在显示在"概述"选项卡上,从而在整个合并请求中提供了更好的焦点和导航。

项目可见性限制时删除Fork关系

Fork工作流通过在打开合并请求以将更改合并到上游项目之前创建要处理的上游项目的副本,从而轻松地对任何项目做出贡献。

此前,当分支网络中的根项目已更改为受限,所有分支的可见性都将受到限制。如果将根项目设为私有,这可能导致Fork的公共项目都变成私有。

在GitLab 12.6中无需更改所有项目的可见性,只需从fork网络中删除根项目,不会更改所有其他项目。

CI配置存储在仓库外

新版本中添加了将.gitlab-ci.yml的路径指定为任意URL的功能,该功能可以让CI配置存储在所构建资源之外的其他资源中。通过将所有存储库都指向相同的外部.gitlab-ci.yml文件,对于以相同方式处理许多存储库非常有用。通过仅更新一个统一的CI配置文件而无需在每个存储库中维护再单独配置,可以大大的提高效率。使用动态生成配置文件的服务的用户也会受益。由于文件可以通过更细粒度的访问控制托管在项目中,也可以保护配置避免未经授权的更改。

GitLab NPM注册表现在支持安装依赖项(PREMIUM及以上)

GitLab 12.6中,NPM注册表支持安装软件包依赖项。直到最近,如果命令中未包含该版本,则无法运行npm install,命令不支持安装软件包的依赖项。这是由于不支持所需的NPM元数据导致。接下来,将会依赖项和标签添加到Package Registry UI。

安装了AWS客户端的官方GitLab容器

与主要的云提供商(例如AWS,Azure或GCP)进行交互是许多交付管道的核心组件。但是在自动化云交互之前,需要使用适当的工具来设置环境。从12.6开始,GitLab将提供一个官方的AWS Docker镜像,该镜像将允许从CI CD管道运行aws命令。可以使用由GitLab维护并保持最新状态的Docker映像来访问各种AWS服务。交付官方镜像也是支持将AWS部署到EC2的第一步。

跳过合并训练的警告(PREMIUM及以上)

当用户为其合并请求选择"立即合并"时,会延迟"合并训练"中的所有合并请求。用户无意间执行了此操作,而没有意识到对其余合并请求造成的负面影响。尽管仍然允许紧急合并请求跳过此行,但是会添加此操作会对其他操作产生负面影响的说明,通过警告作为另一层保护。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

自定义Kubernetes命名空间

当使用GitLab的Kubernetes集成时,会自动创建一个命名空间,用作GitLab CI/CD的部署目标。但是,如果已经拥有一个具有一组现有名称空间的集群,则很有可能希望将现有名称空间之一指定为GitLab部署目标。

GitLab 12.6,可以在.gitlab-ci.yml文件中为每个CI环境指定自定义名称空间,从而允许部署到将Kubernetes集群连接到GitLab之前存在的名称空间。

允许清除集群缓存以避免不同步

经常需要直接在Kubernetes集群上执行操作,例如在进行故障排除或微调时。直接在集群中更改Kubernetes资源会使GitLab与集群不同步,导致不会重新创建资源,因为它假定资源已经存在。

从GitLab 12.6开始,Kubernetes集成将提供清除命名空间和服务帐户本地缓存,从而允许重新创建一个CI作业必要时对其清理。

使用CI模板安装K8S应用程序

使用GitLab CI安装K8S应用程序提供了一种在安装之前自定义Helm图表的好方法。为了使入门更加容易,为所有当前支持的应用程序添加了CI模板。除了此模板之外。还创建了一个示例集群管理项目,其中包含入门所需的所有必要项目。只需导入并镜像该项目即可获得所有最新支持的应用程序。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

改进错误跟踪与问题管理之间的集成

分类错误可能是一个手动且繁琐的过程,通常由团队中的多个人完成。一名团队成员可以确定该错误很关键,然后去创建问题来修复该错误。从GitLab 12.6开始,错误会提供了一个链接,可直接在"错误详细信息"页面中打开未解决的问题,从而消除了有关是否需要创建问题的任何困惑。

如果问题不存在,可以在查看该错误的详细信息页面时从生成的错误中快速创建一个GitLab问题。

将Sentry添加为GitLab托管应用

如果你是GitLab的错误跟踪功能的用户,那么你将能够与最流行的开源错误跟踪工具Sentry集成。从GitLab 12.6开始,如果无法在Sentry.io上使用Sentry项目,则可以将Sentry直接部署到连接到项目或组的Kubernetes群集。

从"操作"选项卡访问Pod日志(ULTIMATE)

以前,没有一种简单的方法可以直接导航到Pod的日志视图。GitLab 12.6,查看Pod日志变得比以往更加轻松,只需单击"操作"下面的"Pod日志"选项卡。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

组Webhook现在可编辑

组Webhook现在可编辑。之前只能创建和删除组级别的webhook。新版本中增加了在用户界面中进行编辑的功能,从而节省了webhook的时间和精力。

Jira问题链接现在可选

当用户将GitLab与Jira集成在一起时,当GitLab中有活动发生时,评论就会在Jira中发布。此外,使用户可以基于集成禁用配置页面中的那些评论。对于许多不想看到评论但希望将其Jira问题自动链接到其GitLab项目的用户而言,这很有用处。此外,有些Jira用户出于保密原因不应该看到存储库中的活动。对于这两种情况,对这些评论中张贴的内容进行更细粒度的控制都是很有价值的。

筛选具有成员资格的用户列表

有两种访问私有项目或组的方法:直接添加到该特定项目或组,或从父组继承角色。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

在GitLab 12.6中,允许过滤专门针对直接成员或继承成员的Members表,从而使用户成员来源的了解变得更加容易。这对于具有外部用户的组或使用组来通知人员团队的实例特别有用。

禁用组@提醒

@提醒具有大量成员的群组可能会迅速导致大量不想要的通知。为避免这种情况,新版本中,可以启用组级别的设置,以防止在发布或合并请求中提及该组成员时发出大量通知。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

对内部项目进行重复数据删除

Fork工作流通过在打开合并请求以将更改合并到上游项目之前创建要处理的上游项目的副本,从而轻松地对任何项目做出贡献。对于流行的项目,成千上万份副本所需的服务器端存储需求会迅速累积并增加托管成本。

GitLab 12.1中,为公共项目引入了分叉重复数据删除技术de-duplication,但是许多组织却因为其主要使用私有项目而不能使用。在GitLab 12.6中,创建一个公共或内部项目的Fork会创建一个对象池(如果尚不存在),并使用objects/info/alternates来减少对Fork的存储需求。

合并请求小部件实时更新

在单击"合并"之前,如果通过推送或应用建议进行最终的微小修复,则在你重新加载页面之前,"合并"按钮将被禁用。应用最终修订时,这会减慢审查的最终阶段。在GitLab 12.6中,合并请求窗口小部件现在已实时更新,因此可以立即合并或在管道成功时合并。

使用Visual Review Tools无需基于客户端的授权(STARTER)

在GitLab 12.0,引入了Visual Review Tools,以允许用户提供来自Review App本身的合并请求反馈。在GitLab 12.6中,无需创建个人访问令牌来提供反馈,从而简化了该工具的使用。


GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

继承的变量现在可显示在项目视图中

当混合使用项目和组变量时,理解存在哪些组变量以及它们如何与项目级别变量相关或冲突可能会造成混淆。新版本中,通过在项目变量页面中显示组(继承的)变量,对此进行了改进,从而可以轻松查看哪些变量来自何处。

API接口列出组的软件包(PREMIUM及以上)

作为GitLab软件包注册表的一部分,Gitlab提供了一个API,允许用户查看,下载和删除软件包。但是,直到最近API仍仅限于特定项目,这使用户无法了解组级别存在哪些软件包。

GitLab 12.6中,新增加了一个API接口,该端点将允许用户在组级别列出所有软件包。

通过发布页面编辑发布

在GitLab 12.6中,添加了直接从用户界面编辑发布标题和注释的功能,而无需使用GitLab API,提供了一种更快,更直观的编辑版本的方法。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

基于UserID控制功能标志的推出(PREMIUM及以上)

在GitLab 12.6中,可以为每个环境的功能标志定义不同的userID目标。与暂存(或其他暂存)相比,通过这种组合,可以将不同的用户定位到生产环境中,从而可以完全控制功能标记的切换方式,位置和切换对象。


GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

删除K8S集群时删除相关资源

在实例,组或项目之间重用群集可能很耗时,因为操作员必须确保在将其链接到新实体之前,从群集中删除所有相关的群集资源(例如名称空间,角色,绑定等)。通常,运营商会选择销毁群集并创建一个新群集,以避免手动删除资源。GitLab 12.6提供了在K8S集群删除后删除所有相关集群资源的功能,从而可以快速,轻松地在其他地方重用集群。


GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

Auto DevOps中自动使用自定义的部署值文件

Auto DevOps的Auto-Deploy现在可以对其Helm图表值进行批量配置。通过将.gitlab/auto-deploy-values.yaml文件添加到项目中,Auto DevOps将自动检测它并将其值用于部署。这消除了为项目创建多个HELM_UPGRADE_EXTRA_ARGS环境变量的需要,并具有版本控制的额外好处。

GKE K8S集群中的Cloud Run for Anthos支持

通过GitLab的GKE集成创建Kubernetes集群时,用户可选使用 "Cloud Run for Anthos" 按钮。 GKE将自动为群集提供Knative服务,Istio和HTTP负载平衡,而Cloud Run将负责保持群集的升级。安装后,用户可以继续利用GitLab Serverless提供的功能,以最少的配置来部署Knative服务。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

Knative 0.9支持

从GitLab 12.6开始,当GitLab中内置Knative时,会安装Knative 0.9版本。这Knative版本的重大升级。Knative Serving已收到其最终的v1 API接口,并被认为已经可以在生产中使用,但beta和alpha接口仍然可用。有了稳定的API,此升级也提供了一定程度的前向兼容性。

过滤错误时显示最近的搜索

在应用程序中发现的错误进行故障排除,并且必须在搜索错误列表之间频繁地来回跳转。从GitLab 12.6开始,可以在过滤错误时快速选择最近的搜索。


GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

按上次发现,首次发现和频率对错误列表进行排序

错误通常很丰富,嘈杂,并且很难找出影响用户的重要错误。从GitLab 12.6开始,在GitLab中查看Sentry错误列表时,可以根据频率以及上次和首次发现错误的时间对错误进行排序。


GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

CI集成支持Webhook日志

为了帮助用户对CI集成进行故障排除,GitLab 12.6在集成配置页面中添加了最近事件的日志。该日志可在Jenkins,Packagist,Team City,DroneCI,Buildkite和Bamboo的集成设置页面上找到。日志中会列出最近两天触发集成的事件。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

当尝试对集成失败进行故障排除时,这特别有用。现在,可以轻松访问日志以排查错误及其原因。

Omnibus的改进

GitLab 12.6包含了Mattermost 5.17.1,它是开源的Slack替代产品。新版本的Mattermost主要是质量性更新。

GitLab app Runner 12.6

同期还发布了GitLab Runner 12.6。主要更新包括:

分发arm64二进制包;

将镜像公开给自定义执行器;

升级到Golang 1.13

修复用于查找Virtualbox快照名称的正则表达式

删除文件锁定

更多功能,请查看GitLab Runner的CHANGELOG。

安全功能改进

新用户密码要求

组织需要一种与其内部策略和过程相一致的方法来保护其GitLab实例。其中一个很有效的方法是执行密码策略。GitLab根据NIST SP 800-63B更新了自己的内部密码策略准则。在这个规范中在,NIST建议利用密码的长度和复杂性,但不建议进行密码轮换,甚至不建议使用特定的复杂性规则(例如,特定数量的特殊字符)。

在NIST的指导下,GitLab新版在管理区域中引入了一个新设置,用来指定新用户的最小密码长度。设置后需要创建新帐户或者密码修改时候必须要满足最小长度的要求。

轮换个人访问令牌(ULTIMATE)

具有安全意识的组织在过去一直使用凭据的定期轮换来限制攻击者通过泄露的机密访问系统的时间。尽管NIST等组织的指导方针不再建议定期轮换,但由于默认缺乏2FA保护,客户需求以及在某些合规性框架(例如PCI)中的重要性,新版本中增加了强制定期轮换个人访问令牌的功能。

实例管理员可以为生成的个人访问令牌配置最大生存期。应用限制将使现有令牌过期,必须重新生成令牌并遵守新应用的过期要求。令牌的到期日期过后,必须重新生成令牌。

使用个人访问令牌和SSH密钥清单简化用户管理(ULTIMATE)

随着GitLab自托管实例的增长,对合规性控制的需求也会随之增长。如添加更多的用户,组,子组和项目,实例将变得更加复杂。需要在汇总视图中查看谁有权访问实例,以便管理实例的风险和合规性。

Gitlab 12.6引入了MVC来存储PAT和SSH凭据清单。该视图为管理员提供了重要的详细信息,例如每个凭证的所有者,类型和范围。它还将显示凭据的创建时间,上次访问时间,过期时间等信息。

GitLab 12.6发布,包括安全、发布证据、puma应用服务器等功能

python项目的依赖扫描改进(ULTIMATE)

GitLab 12.6中,如果Python依赖项存储在常规的require.txt以外的文件中,使用PIP_REQUIREMENTS_FILE变量设置引入的文件。

SAST对React框架的支持(JavaScript)

使用React框架编写的项目,则现在可以使用SAST扫描器查找安全问题。

使用sbt软件包管理器对Scala项目进行依赖项扫描(ULTIMATE)

GitLab 12.6中,在Dependency Scanning中通过sbt软件包管理器添加了对Scala的支持。现在可以扫描Scala项目中的潜在漏洞。

许可证合规中添加了对PHP的支持(ULTIMATE)

如果项目中使用PHP,现在可以使用许可证合规性功能,特别是针对基于composer的项目。

Java Gradle项目的依赖项扫描(ULTIMATE)

对于具有Java Gradle项目的用户,现在可以利用依赖关系扫描功能。

K8S的SAST清单(ULTIMATE)

GitLab 12.6中以使用kubesec检查K8S清单中的敏感数据,例如密码和权限等。

SAST与私有依赖项兼容(ULTIMATE)

GitLab 12.6,自托管的私有存储库中的依赖项,可以将私有存储库的身份验证凭据传到SAST容器中,用分析命令使用。

性能提升

GitLab 12.6中的一些性能改进包括:

为合并请求注释轮询启用HTTP缓存

加载用户头像时减少SQL查询

高用于确定要同步到Geo辅助节点的Ci::JobArtifact记录的SQL的性能

删除N + 1个调用渲染项目的搜索结果并修复误报测试

改善GraphQL上的问题搜索性能

预加载组祖先以避免N + 1

改善.groups_user_can_read_epics性能

从diff_file_head.vue删除stickyMonitor

功能弃用

不再支持K8S 1.11

在K8S中部署GitLab时,最低支持版本现在为1.12。Kubernetes 1.11不再被上游维护,容器管理服务中也已经删除(如GKE和EKS)。 GitLab中默认使用Kubernetes 1.13。

弃用日期:2019年12月22日

安全功能手动配置.gitlab-ci.yml变量和参数弃用

命令行参数--auth-first-page,"依赖关系扫描"的DEP_SCAN_DISABLE_REMOTE_CHECKS都被删除,不再支持。GITLAB_FEATURES预定义环境变量中的sast_container值不再受支持,需要将其更改为container_scanning。

还需要验证正在使用新的报告语法,因为所有安全扫描功能都取决于预期位置中可用的报告。如果不更新为新的报告语法,无法工作。

删除日期:2019年12月22日

所有的find-sec-bugs分析器都已替换为spotbugs

已弃用了四个"发现安全错误"的分析器:"发现安全错误","发现安全错误","发现安全错误","发现安全错误"等级。需要使用Spotbugs分析器代替这些。

弃用日期:2019年12月22日

不再支持Elasticsearch 5.6

目前尚无支持GitLab支持Elasticsearch 7.x的时间表。可以按照此问题进行更新。 GitLab建议自建实例都升级到ElasticSearch6.x。

迁移日期:2020年1月22日

反向移植操作系统

在GitLab Runner 13.0中,将从Golang v1.10.8中删除向后移植的os.Expand()。需要此backport来包含Golang v1.11中引入的行为更改。

迁移日期:2020年5月22日

手动解析DockerService

在GitLab Runner 13.0中,将恢复为使用默认的TOML解析器。

迁移日期:2020年5月22日

Windows批处理命令执行程序的批处理cmd

在GitLab 11.11中,不建议将Windows Batch执行程序用于GitLab Runner。在GitLab 13.0中将删除对Windows Batch的支持。

弃用日期:2020年5月22日

Prometheus查询中弃用Ruby字符串插值

Gitlab计划在GitLab 13.0中删除Ruby字符串插值(带有大括号的花括号),并用liquid模板支持代替它。如果在Prometheus查询中使用'string_%{variable}_string'格式传递参数,则需要将其替换为'string_{{variable}}_string'。

迁移日期:2020年5月22日

Gitlab 13.0将放弃对InfluxDB监控指标的支持

GitLab计划在GitLab 13.0中删除InfluxDB收集的GitLab自建实例的监控指标。Prometheus GitLab的官方监控工具。默认情况下,会在GitLab实例上安装,并收集与InfluxDB相同的指标。

弃用日期:2020年5月22日

GitLab 13.0中删除PostgreSQL 9.6和10.x

为了利用PostgreSQL 11中改进的性能和功能,计划在GitLab 13.x中要求最低为PostgreSQL 11和12版本。为此,在GitLab 12.x版本中引入了对PostgreSQL 11的支持,同时保持对9.6和10.x的支持。随着GitLab 13.0的到来,将需要最低为PostgreSQL 11。

通过最低要求PostgreSQL 11,能够利用引入的新功能,而无需维护多个代码路径的开销。未来,将保持每年一次的PostgreSQL升级节奏,并在支持第二和第三最新版本后立即对其进行支持。

弃用日期:2020年5月22日

将地理位置设置移动到Admin>Geo>设置

地理位置设置已移至管理区域>地理位置>设置。GitLab 13.0中,旧位置("管理区域">"设置">"地理")将保持可用,会自动跳转到新位置。

迁移日期:2020年5月22日

升级更新

Omnibus安装:

Omnibus安装的自建实例可以使用包管理器可以升级。

CentOS: yum updata/install gitlab-ce 就会自动完成升级过程。

docker安装版本:

停止和删除旧的容器

sudo docker stop gitlab

sudo docker rm gitlab

拉取gitlab官方最新的镜像:

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:latest

Docker compose安装:

直接通过:

docker-compose pull

docker-compose up -d

关于升级到GitLab 12.6的重要说明

作为GitLab Pages的体系结构更新的一部分,Pages将使用API​​而不是使用磁盘数据库访问。

为了帮助进行较大的迁移,此版本引入了后台迁移(将以异步方式运行的Sidekiq作业)。对于GitLab在线平台,迁移大约需要36个小时才能完成,并且没有预期的副作用,也没有引入任何副作用。

要找到在你的实例上完成这些迁移所需的大概时间,可以在Rails控制台运行以下命令:(Project.count.to_f / 300_000).ceil。要检查后台迁移的状态,请运行:

Sidekiq::Queue.new ('background_migration').size。

展开阅读全文

页面更新:2024-05-16

标签:令牌   软件包   集群   变量   证据   实例   错误   日期   轻松   版本   页面   功能   发现   服务器   文件   项目   用户   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top