Git 使用 chef git 资源部署主分支或特定提交或标记
Git deploy master branch or particular commit or tag with chef git resource
我一直在尝试使用 git_resource 与 Chef 一起在我的生产服务器上部署 master 分支。显然它总是从 deploy 分支部署代码,而实际上在主 git repo 中并不存在。
我正在使用仅读取模式的部署密钥。
git '/path/to/the/dir/' do
repository 'git@github.com:example/example.git'
revision 'master'
checkout_branch 'master'
enable_checkout true
action :sync
user 'ubuntu'
group 'ubuntu'
end
请帮我解决这个问题。
git 资源的工作方式是获取你在 revision
中提供的任何内容的 SHA,将其签出到工作副本,然后设置一个名为 deploy
的头(或任何 checkout_branch
设置为)到 SHA。这允许有效地检查更新,而无需将回购留在分离的头部状态。所以基本上只要删除 checkout_branch 'master'
,每次 Chef 运行时你都会得到一个同步到 master
的回购。将 revision
和 checkout_branch
设置为相同的值会破坏幂等性检查。
我一直在尝试使用 git_resource 与 Chef 一起在我的生产服务器上部署 master 分支。显然它总是从 deploy 分支部署代码,而实际上在主 git repo 中并不存在。
我正在使用仅读取模式的部署密钥。
git '/path/to/the/dir/' do
repository 'git@github.com:example/example.git'
revision 'master'
checkout_branch 'master'
enable_checkout true
action :sync
user 'ubuntu'
group 'ubuntu'
end
请帮我解决这个问题。
git 资源的工作方式是获取你在 revision
中提供的任何内容的 SHA,将其签出到工作副本,然后设置一个名为 deploy
的头(或任何 checkout_branch
设置为)到 SHA。这允许有效地检查更新,而无需将回购留在分离的头部状态。所以基本上只要删除 checkout_branch 'master'
,每次 Chef 运行时你都会得到一个同步到 master
的回购。将 revision
和 checkout_branch
设置为相同的值会破坏幂等性检查。