【发布时间】:2015-05-19 08:49:01
【问题描述】:
我必须使用 Ansible 提供一堆安装在不同物理计算机(OS X、Win、Ubuntu)上的开发 vagrantbox。只要所有 ansible 剧本/角色/模板都是统一的(产品、开发)并存储在 git 中,使用 ansible-pull 并处理存储真实密码的产品配置和保险库就不是一种选择。所以这个想法是让每个 vagrantbox 创建一个反向 ssh 隧道到某个服务器,其中 ansible-playbook 将应用于一系列端口。 问题是:如何从 vagrantbox 中选择一个空闲端口,这样我就不必为开发人员创建的每个 VM 硬编码数字? 另一个问题:有没有其他更简单的方法来配置在不同操作系统上运行的 vagrant VM?
【问题讨论】:
-
看看
vagrant-guest_ansible插件(github.com/vovimayhem/vagrant-guest_ansible)。它允许从未安装或无法安装 ansible 的主机(如 windows)提供 ansible。它会自动在客户机中安装 ansible 并从客户机中调用 playbook。 -
感谢您的回答,但这是我试图避免的 - 将剧本和机密数据(如密码)复制到访客机器或主机。