管理具有大型代码工作区的构建服务器上的 Linux 安装

管理具有大型代码工作区的构建服务器上的 Linux 安装

以下是我想要做的事情:

  • 拥有多台 Linux 服务器用于构建 Android 开源项目,并使用 Android 虚拟设备(Cuttlefish 或 Goldfish/Emulator)测试这些构建
  • 使用相同的配置来管理所有 Linux 服务器。
  • 让所有具有大型代码库检出(例如 AOSP)的机器都已经进行构建,以便尽可能快地进行增量源代码获取 + 构建。

有什么好办法:

  1. 定义每台 Ubuntu 机器的配置。
  2. 能够快速将更新部署到所有机器
  3. 能够快速部署/设置新机器

通过如下组合可以合理/可能地实现这一点吗?

  • 设置第一台机器。将其定义为 Ubuntu Server 安装程序 + 安装后步骤(如安装软件包、同步项目源代码、构建项目等)的组合。安装后步骤在 Ansible 剧本中定义。
  • 将第一台机器实时克隆到其他机器(例如https://nikvdp.com/post/cloning-a-linux-install/?)

除了上述之外还有其他/更好的选择吗?

我还想轻松管理对此环境的更改。比如,也许 6-12 个月后,会有新的包/工作区要求。我想对第一台机器进行这些更改,然后重新部署到其他机器。这里最好的方法是将第一台机器(再次)重新克隆到其他机器吗?

相关内容