Gitlab二三事
2019-07-04 20:46:07 阿炯

Gitlab 从 12.1 版本开始将不再支持 MySQL
GitLab 禁止员工使用 Windows


Gitlab 从 12.1 版本开始将不再支持 MySQL


Gitlab 官方于2019年7月上旬宣布将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017年7月,Gitlab 就计划将弃用对 MySQL 的支持。而目前这个决定将从 12.1 版本开始。官方列出几个 MySQL 不能满足 Gitlab 要求的地方:
无法支持嵌套分组查询
必须使用黑科技来提升 MySQL 对列的限制,这将导致 MySQL 拒绝存储数据
MySQL 无法添加 TEXT 类型字段的长度限制
MySQL 不支持分区索引
还有类似 Geo


为了解决上面这些问题,Gitlab 创建了许多专门针对 MySQL 的代码。 在某些情况下,这导致合并请求的复杂性要高一倍,因为它们必须支持第二个数据库后端。创建和维护这些代码会消耗我们的循环时间和速度,并且会降低我们的迭代值。它也使我们变慢,因为我们的CI系统将运行我们的测试套件两次,每个后端一次。 删除对MySQL的支持可缩短CI作业的时间,并降低成本。 这些成本最终变得相当可观。

总而言之,Gitlab 觉得同时支持 MySQL 和 PostgreSQL 两个数据库,让开发团队觉得烦不胜烦。此外据 Gitlab 调查发现,使用 MySQL 的多是 11 版本之前的用户。所以如果想升级到 Gitlab 12.1 版本的话,那么你老的 MySQL 数据库可能会让你比较痛苦。可以参考官方的移植指南。


GitLab 禁止员工使用 Windows

2022年8月上旬消息,GitLab 被发现在其入职培训的政策中明确指出,禁止在公司使用微软的 Windows 操作系统,除了不会向员工发放 Windows 系统的电脑,GitLab 也要求在公司使用个人设备的员工不能使用 Windows 系统。GitLab 仅推荐员工使用 macOS 和 Linux。其官网有一个专门供 GitLab 新员工阅读的指导手册,里面列出了十分详尽的设备管理流程,其中包括新员工如何订购电脑、公司设备采购和运输流程、可以申请的设备配置、如何进行更新换代、设备回收等内容。

其中在电脑配置一览中,GitLab 明确指出他们仅批准使用 Linux 和苹果的 macOS,并禁止员工使用微软的 Windows,给出的原因如下:
由于微软 Windows 在桌面操作系统中的主导地位,Windows 是间谍软件、病毒和勒索软件攻击的主要目标平台。
macOS 已经预装在苹果电脑上,Linux 可以免费使用。为了批准使用 Windows,GitLab 必须购买 Windows 专业版的许可证,而 Windows 家庭版不符合 GitLab 的安全准则。
Windows 家庭版是出了名的难以保护。

除此之外,GitLab 还在文档中强调到,如果员工在入职时因为一些特殊原因没能第一时间拿到公司分配的电脑,还可以使用个人设备或临时租用设备,但允许的设备中仍然不包含 Windows 电脑:
使用个人非 Windows 硬件(Mac、Linux、移动设备)
租用并报销非 Windows 硬件的费用
购买并报销 Chromebook

GitLab 在官网详细列出了笔记本电脑供应商的选择标准,其表示目前推荐的设备是安全团队平衡隐私、安全和合规性,以及采购设备后能否及时交付到员工手中等多个因素后的结果,因为这些设备可以更好地满足 GitLab 的需求。其向员工提供的硬件配置如下,根据职位和工作内容不同,配置上会有所差异:

苹果硬件
Macbook Pro 14"和 16" - M1 Max / 10-Core CPU / 24-core GPU / 32GB 统一内存 / 512GB 或 1TB 存储(性能机型)
MacBook Pro 16" - 英特尔 i7 或 i9 / 512 SSD / 32 RAM(传统的性能机型)
Macbook Pro 13" - M1 / 16Gb / 512GB(标准机型)

Linux 硬件
戴尔 Precision 移动工作站 5500 或 5700 系列的笔记本电脑(配置不低于 15.6 英寸显示器 / 512GB 固态硬盘 / 32GB 内存 / 英特尔 i9 或 i7 处理器)
戴尔 Latitude 7300 系列的笔记本电脑(配置不低于 13.3 英寸显示屏 / 256GB 固态硬盘 / 16GB 内存 / 英特尔四核 i5 处理器)