可在流浪者档案中查阅–;从git中拉出playbook
我有3个吉特回购:可在流浪者档案中查阅–;从git中拉出playbook,git,vagrant,ansible,Git,Vagrant,Ansible,我有3个吉特回购: ansible配置(角色、任务…) 后端代码 前端代码 在我的文件中,我可以指定剧本的路径 但是如果我想让Ansible剧本自动从git中拉出来呢?流浪汉能做到吗?我不想有重复的Ansible配置 或者我应该将我的ansible回购添加为子模块?还是别的什么?我和你有几个类似的情况。我就是这么做的 所有三个回购都位于同一父目录中 ./parent |-- ansible |-- backend +-- frontend 当我执行vagrant up或vagran
或者我应该将我的ansible回购添加为子模块?还是别的什么?我和你有几个类似的情况。我就是这么做的 所有三个回购都位于同一父目录中
./parent
|-- ansible
|-- backend
+-- frontend
当我执行vagrant up
或vagrant provision
时,我使用该插件触发对ansible repo的更新。因此,我的Vagrantfile
的开头可能如下所示
Vagrant.configure("2") do |config|
config.trigger.before :up do
system("../ansible/update.sh")
end
其中。/ansible/update.sh
是一个脚本,用于检查以确保ansible git repo是最新的,并且处于正确的状态(在右侧分支上,等等)
接下来的部分是,如果您希望后端和前端回购协议能够在ansible回购协议不存在的情况下自行启动。这只需要使用vagrant触发器插件编写额外的shell脚本。此外,如果您愿意,您可以使用ansible的
本地\u操作
(请参阅)而不是shell脚本。Vagrant文件基本上只是Ruby代码,因此您几乎可以做任何事情,只有您的想象力是有限的。但是,需要一些Ruby知识。子模块会更简单。我也会推荐一个子模块。看起来是个不错的解决方案。我也可以将其用于子模块,因为它们不会自动更新。