gpt4 book ai didi

vagrant - 在 ("vagrant provision"上有条件地提供 "vagrant up")

转载 作者:行者123 更新时间:2023-12-04 12:31:43 31 4
gpt4 key购买 nike

由于我在一个团队中工作,我想让与 vagrant(和 Chef-solo)一起工作的过程尽可能顺利。
当团队中的某人更改厨师食谱、角色或其他任何内容时,我希望所有其他团队成员通过在下一个“Vagrant ”上进行 Vagrant 重新配置(例如运行“Vagrant 提供”)来自动“接收”更改,无需每个团队成员都需要了解它并手动重新配置。

我想通过使用 git post-receive Hook 脚本来完成此操作 touch根项目文件夹中的一个文件。然后,当“vagrant up”被调用时,它会检查这个文件是否存在。如果文件存在 - 一旦“up”完成运行,它将重新配置。

这样做有更好的选择吗?如何?
如果没有,我该怎么做?

我知道这个问题( Force Vagrant to re-provision or download a new box on next vagrant up )存在,但这不完全是我的情况(我对配置特别感兴趣,而不是虚拟机本身 - 盒子等)。

最佳答案

您可以在 Vagrantfile 的顶部添加类似以下内容的内容:

# 在 vagrant up 检查我们是否有最新的 repo 更改
if ARGV[0] == "up"&& ARGV.join("") != "up --no-provision"
gs = `git status` # 检查仓库状态的命令
gs.scan(/.*你的分支在后面。*/m) { |mtch| # 检查过期消息
puts "你的 Vagrant 文件已经过时了......正在获取......"
`git pull origin master` # 命令来获取最新的文件。
exec "vagrant up --no-provision;vagrant provision"# 重新运行vagrant up 和provision
}
结尾

假设您使用 Git 存储所有 Vagrant 文件和食谱等,这应该运行 Git 状态(它可能也需要获取)并检查消息是否有任何提示文件已过期......如果它们已过期到目前为止,它将拉取最新的文件,然后重新运行 vagrant up--no-provision在运行 vagrant provision 之前重新配置服务器。

关于vagrant - 在 ("vagrant provision"上有条件地提供 "vagrant up"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24260126/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com