make_ansible_portable 项目简介
dbbot 发行包内置的绿色版 Ansible 运行时,实际使用的就是 make_ansible_portable 这条构建链。这个项目适合用来理解来源,或者在脱离 dbbot 时单独复用这套绿色版方案。
1. 它解决什么问题
这套方案的核心思路是:
- 不修改官方 Ansible 运行时代码
- 通过
pip --target把官方包直接安装到一个目录 - 在目录中放置自定义 launcher
- 通过
python3 ./ansible、python3 ./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. 推荐阅读路径
- 如果你想在
dbbot里直接使用绿色版 Ansible,请看:dbbot ansible 绿色版简单教程 - 如果你想看
dbbot内置运行时的接入步骤,请看:部署 dbbot 和配置 Ansible - 如果你要直接查看项目源码和构建脚本,请看:https://github.com/fanderchan/make_ansible_portable