我的公司有一个特殊的情况,我们有一个巨大的git存储库,其中包含我们所有的代码。
在短期内将代码分成库和模块是非常困难的。
但是我们希望根据代码应该扮演的角色"生成"服务器,例如网站、soap Web 服务、rest Web 服务等。
一个想法是使用 git 分支来发出变化信号。代码将基本相同,但控制服务器行为的配置文件将不同。
我把它写到我们的 bash 配置脚本中,它可以工作。
我现在正在寻找流浪汉是否支持这样的计划。
谢谢。
您必须自己实现切换逻辑,但它应该相当简单。
在某个地方(可能在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
这是无限灵活的,并且取决于您实际想要根据分支而变化的内容。如果需要,我很乐意扩展它。