gpt4 book ai didi

Chef 中的 Git 身份验证

转载 作者:IT王子 更新时间:2023-10-29 01:06:00 25 4
gpt4 key购买 nike

当使用 Chef 部署应用程序时,我已经从具有以下资源的私有(private) github 存储库中克隆了代码库:

git '/mnt/application' do
repository 'git@github.com:organization/repository'

reference 'master'
action :sync

user node.application.user
group node.application.user
end

但是,在扫描了 git 资源的文档后,我看不到您如何提供用于身份验证的 key 文件。我也对如何将此 key 存储在数据包中感到困惑,因为该文件包含一堆新行。有什么想法吗?

最佳答案

ssh_wrapper "ssh -i /some/path/id_rsa"

万一有人遇到这个,上面的方法对我不起作用,我一直收到错误:

error: cannot run ssh -i /some/path/id_rsa: No such file or directory

指定 ssh_wrapper 的作用是设置 GIT_SSH 环境变量,事实证明您不能在 GIT_SSH 环境变量中提供参数(参见 Git clone with custom SSH using GIT_SSH error)。

相反,您需要先将脚本写入文件,然后为其设置 GIT_SSH。

所以:

file "/some/path/git_wrapper.sh" do
owner "your_user"
mode "0755"
content "#!/bin/sh\nexec /usr/bin/ssh -i /some/path/id_rsa \"$@\""
end

并将 git 资源部分更改为:

git "/opt/mysources/couch" do
repository "git://git.apache.org/couchdb.git"
reference "master"
action :sync
ssh_wrapper "/some/path/git_wrapper.sh"
end

关于Chef 中的 Git 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20470076/

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