我的公司有一个奇怪的情况,我们有一个包含我们所有代码的巨型git存储库。
在短期内将代码分成库和模块是非常困难的。
但我们希望根据代码应该扮演的角色“生成”服务器,例如网站,肥皂网服务,休息网络服务等。
一个想法是使用git分支来表示变化。代码将大部分相同,但控制服务器行为的配置文件将不同。
我把它写入了我们的bash配置脚本,它可以工作。
我现在想看看Vagrant是否支持这样的计划。
感谢。
答案 0 :(得分:1)
你必须自己实现切换逻辑,但这应该是相当微不足道的。
某处(可能在configure
区块之前),您想要了解当前分支是什么:
branch = `git rev-parse --abbrev-ref HEAD`
然后,使用此选项,但您需要在框中定义。例如,您可以根据分支切换供应商:
# snip
shell_provisioner = case branch
when 'master' then 'path/to/provisioner.sh'
when 'widgets' then 'path/to/widgets.sh'
end
config.vm.provision :shell, path: shell_provisioner
这是无限灵活的,取决于您实际想要根据分支变化的内容。如果需要,我很乐意扩展它。