我已经尝试了几种不同的方法,包括创建一个新配方并通知该配方运行,但我一直遇到同样的问题,即在资源运行之前克隆的 repo 目录不存在file
,所以我收到了一个致命错误。
我的问题是,我可以在文件资源尝试执行之前让 git clone 完成,还是有更好的方法来做到这一点?
SN:我正在尝试通过新的用户环境设置来完成交易 - 所以在创建新用户之后,我将从将为该用户部署的 git repo 中克隆一堆配置文件。
git "/home/#{user_id}/.myconfigs" do
repository "https://url/to/repo"
reference "master"
user user_id
group user_id
action :checkout
not_if "test -d /home/#{user_id}/.myconfigs"
#notifies :run, "recipe[zsh_workstation::zshrc]"
end
file "/home/#{user_id}/.zshrc" do
content IO.read("/home/#{user_id}/.myconfigs/.zshrc")
owner user_id
group user_id
mode "0600"
action :create_if_missing
end