make_ansible_portable 项目简介

dbbot 发行包内置的绿色版 Ansible 运行时,实际使用的就是 make_ansible_portable 这条构建链。这个项目适合用来理解来源,或者在脱离 dbbot 时单独复用这套绿色版方案。

1. 它解决什么问题

这套方案的核心思路是:

  • 不修改官方 Ansible 运行时代码
  • 通过 pip --target 把官方包直接安装到一个目录
  • 在目录中放置自定义 launcher
  • 通过 python3 ./ansiblepython3 ./ansible-playbook 等方式直接运行

如果你希望:

  • 独立构建绿色版 Ansible
  • 明确锁定控制机 Python 与依赖版本
  • 往 bundle 里补充额外 Python 包或 Ansible collection

那么应该优先看这个项目,而不是只看 dbbot 发行包里的内置运行时。

2. 和 dbbot 的关系

dbbot 发行包内置的 portable-ansible 运行时,就是沿着这条构建思路产出的。

dbbot 用户来说,它的价值主要有两层:

  • 你可以理解绿色版 Ansible 是怎么打出来的
  • 你可以按自己的控制机 Python、依赖约束和裁剪策略,重新生成一份适合自己环境的 bundle

3. 适合关注的能力

  • --source:指定官方 Ansible 包版本
  • --python:指定 bundle 面向哪一个控制机 Python
  • --build-constraint:固定依赖版本,方便复现构建
  • --without-vault:在不需要 ansible-vault 时裁剪体积
  • extras / collections 注入:把额外 Python 依赖和 collection 一起打进 bundle

4. 推荐阅读路径