背景
由于项目组选择采用 Electron
构建跨平台客户端, 因此存在一个问题就是如何利用 CI/CD
进行自动构建与发布. 当前内部使用 Jenkins
进行自动构建, 但 Jenkins
仍需要 macOS
平台以便构建 DMG
包进行分发. 因此在不考虑实体机的情况下, 最便捷的方案便是可以能创建一台 macOS
的虚拟机了, 通过虚拟机可以方便地复制构建环境从而不和任意硬件货环境绑定.
但当前的问题一是默认情况下 CentOS 8
下提供的 4.2.0
版本的 QEMU
比较老了, 另一个问题则是 RHEL
在分发的时候移除了相当多的 QEMU
特性, 无法直接创建 macOS
虚拟机, 因此我们需要手动修改 QEMU
的代码并自行构建 RPM
包修复这两个问题.