写点什么

定期做好这件事,减少技术债,拒做背锅侠

作者:极狐GitLab
  • 2024-01-15
    上海
  • 本文字数:2810 字

    阅读完需:约 9 分钟

定期做好这件事,减少技术债,拒做背锅侠

极狐 GitLab 是一个广受欢迎的 DevOps 平台。极狐 GitLab 的发版频率也非常迅速,每个月的下旬都会发布新版本。可是,令人伤心😭的是,即便极狐 GitLab 迭代非常频繁,每个月引入很多新特性,但是许多个人/企业依旧在使用过时的极狐 GitLab 版本😢。这会导致安全漏洞👿、性能不足🧑🏻‍🦽和兼容性问题🤮。

为此,极狐 GitLab 官方也非常贴心的在管理员页面进行提示,当你的极狐 GitLab 私有化部署实例提示尽快更新或者 Upgrade ASAP 时,那就非常危险了,需要立即升级

极狐 GitLab 内置升级告警图


因为漏洞中招的例子



接下来,本文将详细解释为什么应该从过时版本升级到最新版本的极狐 GitLab,以及升级的好处。

安全性

使用极狐 GitLab 过旧版本可能会使你的代码和系统面临安全风险。极狐 GitLab 团队定期发布安全补丁和更新,以修复已知的安全漏洞。升级到最新版本可确保你受益于这些修复措施,降低受到网络攻击的风险。此外,新版本还采用了更严格的安全策略,提高了整体安全性。

01 GitLab 的 CVE 漏洞库

作为一款非常流行的工具,CVE 漏洞库为极狐 GitLab 创建了专属页面GitLab : Security Vulnerabilities,公开已知的漏洞。

CVE 漏洞库 GitLab 专属页面


针对这些漏洞,极狐 GitLab 会第一时间发布补丁版本,修复漏洞。以 CVE-2023-1084 为例:

An issue has been discovered in GitLab CE/EE affecting all versions before 15.7.8, all versions starting from 15.8 before 15.8.4, all versions starting from 15.9 before 15.9.2. A malicious project Maintainer may create a Project Access Token with Owner level privileges using a crafted request.

Publish Date : 2023-03-09 Last Update Date : 2023-03-15

02 极狐 GitLab 的解决方案

在 CVE 官方于 2023-03-09 公开此漏洞之前,GitLab 官方于 2023-03-02 即发布了补丁版本,通知用户升级到安全的版本。

GitLab 安全修复版本博客


同时,极狐 GitLab 的客户也会收到来自极狐 GitLab 技术支持团队的安全告警,以邮件的形式告知升级的必要性。

性能和稳定性

极狐 GitLab 团队不断优化产品性能和稳定性。新版本的极狐 GitLab 提供了更快的响应时间、更高的可扩展性和更稳定的系统。升级到最新版本可确保你的团队能够高效地开发和部署应用程序,避免因性能问题而导致的生产力损失。

01 举个🌰:Hashed Storage

极狐 GitLab 的核心功能代码托管,涉及到大量文件的存储、读取、访问、更新等,因此数据存储的方式对于极狐 GitLab 的性能至关重要。

从 14.0 版本开始,极狐 GitLab 引入哈希存储(Hashed Storage)作为 Gitaly 的默认存储方式,相对于旧有的 Legacy Storage,Hashed Storage 具有以下优势:

  1. 更好的性能和可扩展性:Hashed Storage 使用分布式文件系统,将项目仓库按其内容分散到多个子目录中。这种结构提高了文件系统的性能,尤其是在大型安装和具有大量项目的情况下。

  2. 更高的安全性:Hashed Storage 通过对项目仓库的名称进行哈希处理,使得项目仓库的物理存储路径与项目名称无关。这降低了潜在的信息泄露风险,因为存储路径不再暴露项目名称。

  3. 改进的命名冲突处理:Legacy Storage 中,项目重命名或转移时可能会出现命名冲突。而在 Hashed Storage 中,项目仓库的哈希值独立于项目名称,因此降低了命名冲突的可能性。

  4. 更简单的备份和迁移:由于 Hashed Storage 使用内容寻址存储,备份和迁移项目仓库变得更加简单。在迁移或备份时,可以更容易地确定哪些文件夹和文件需要复制,从而减少了迁移过程中的错误。

  5. 更容易的存储管理:Hashed Storage 使用更加分散的存储结构,使得存储管理更容易。例如,可以更容易地平衡存储负载,或在不同存储系统之间迁移项目仓库。

Hashed Storage 在性能、可扩展性、安全性、命名冲突处理、备份和迁移以及存储管理方面具有优势。因此,极狐 GitLab 推荐使用 Hashed Storage 作为项目仓库的存储类型,并在新版本中已将其设置为默认选项。而这,不升级极狐 GitLab 版本是无法体验到的👋🏻

新功能和改进

极狐 GitLab 经常引入新功能和改进,以满足用户需求和行业趋势。升级到最新版本意味着你可以利用这些功能提高工作效率和协作能力。例如,新版本的极狐 GitLab 可能包括更先进的 CI/CD 功能、更强大的代码审查工具和更高效的项目管理功能。参考极狐GitLab 版本发布博客,第一时间了解最新特性。

极狐 GitLab 产品发布博客

兼容性

随着技术的不断发展,你可能会发现极狐 GitLab 版本与其他工具和技术不再兼容。升级到最新版本可确保你可以无缝地集成极狐 GitLab 与其他开发工具和平台,避免因兼容性问题而浪费时间和精力。比如极狐 GitLab 自动化常用的 python-gitlab SDK,其支持的 GitLab API 版本为 V4,而过于老旧的极狐 GitLab 甚至还是 V3。

技术支持

极狐 GitLab 团队通常只为最新版本提供技术支持。如果你遇到问题,你可能发现很难找到针对过时版本的解决方案和帮助。升级到最新版本可以让你获得更好的技术支持和文档,确保你在遇到问题时能够得到及时的帮助。

结论

升级极狐 GitLab 至最新版本是确保代码安全、提高团队工作效率和实现顺畅协作的关键。通过保持极狐 GitLab 的最新版本,你可以受益于最新的安全补丁、性能优化、功能改进和兼容性更新。而且,你还可以获得更好的技术支持和详细文档,帮助你解决在开发过程中遇到的问题。因此,从过时版本升级 GitLab 是一个明智的决策,可以为你的团队带来长远的好处。

福利:升级步骤

在实际进行升级之前,请务必备份你的极狐 GitLab 实例和相关数据。升级过程通常是平滑的,但备份可以确保在出现问题时,你能够迅速恢复到正常状态。

  1. 查阅极狐 GitLab 的官方升级文档,了解详细的升级步骤和注意事项。

  2. 根据你当前的极狐 GitLab 版本和部署方式,选择合适的升级路径。通常,你需要根据升级路径逐版本升级,而不是直接跳到最新版本。这可以确保在升级过程中,你不会遇到不兼容的问题。以 10.0.7 版本为例,如果想要升级到最新的 15.Y.Z 版本,需要经历如下升级过程,可见,如果版本过于老旧,升级过程将是一个非常漫长的过程。

  • GitLab 10:10.0.7 > 10.8.7

  • GitLab 11:11.0.6 > 11.11.8

  • GitLab 12:12.0.12 > 12.1.17 > 12.10.14

  • GitLab 13:13.0.14 > 13.1.11 > 13.8.8 > 13.12.15

  • GitLab 14:14.0.12 > 14.3.6 > 14.9.5 > 14.10.5

  • GitLab 15:15.0.5 > 15.1.6 > 15.4.6 > 最新的 15.Y.Z

3. 在升级过程中,请密切关注日志和错误信息。如果遇到问题,及时查阅文档或联系技术支持。

4. 升级完成后,请进行全面的测试,确保新版本的极狐 GitLab 正常运行,并且你的项目没有受到影响。

从极狐 GitLab 过时版本升级至最新版本是一个必要的过程,可以为你的团队带来显著的好处。请务必遵循官方文档和建议,确保升级过程顺利进行。当然,当你的版本过于老旧的情况下,跨越过多版本(大于 5 个)的情况下,升级请联系极狐 GitLab 技术支持团队(通过官网 https://gitlab.cn 首页右侧展示的联系方式进行联系或通过下面添加小助手的方式进行联系)。

扫描下方二维码,添加极狐 GitLab 小助手,申请进群交流与 GitLab 升级、迁移至极狐 GitLab 相关的技术问题。


用户头像

极狐GitLab

关注

开源开放,人人贡献 2021-05-19 加入

开放式一体化DevOps平台,助力行业高速协同增长!

评论

发布
暂无评论
定期做好这件事,减少技术债,拒做背锅侠_极狐GitLab_InfoQ写作社区