Github 如何在AWS OpsWorks上使用Chef 12使用deploy ssh密钥克隆私有repo

Github 如何在AWS OpsWorks上使用Chef 12使用deploy ssh密钥克隆私有repo,github,ssh,chef-infra,ssh-keys,aws-opsworks,Github,Ssh,Chef Infra,Ssh Keys,Aws Opsworks,我可以使用AWS OpsWorks上的Chef 12克隆公共回购协议,如下所示: execute "get code" do user "root" cwd node['conf-cookbook']['project_root'] command "git clone #{app['app_source']['url']}" end git node['conf-cookbook']['app_dir'] do repository "ext::ssh -i #{app['app_sou

我可以使用AWS OpsWorks上的Chef 12克隆公共回购协议,如下所示:

execute "get code" do
user "root"
cwd node['conf-cookbook']['project_root']
command "git clone #{app['app_source']['url']}"
end
git node['conf-cookbook']['app_dir'] do
  repository "ext::ssh -i #{app['app_source']['ssh_key']} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no #{app['app_source']['url']}"
  checkout_branch "master"
  action :sync
end
但我不知道如何使用deploy ssh密钥克隆私有repo-我搜索了一段时间,发现了一个潜在的解决方案,如下所示:

execute "get code" do
user "root"
cwd node['conf-cookbook']['project_root']
command "git clone #{app['app_source']['url']}"
end
git node['conf-cookbook']['app_dir'] do
  repository "ext::ssh -i #{app['app_source']['ssh_key']} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no #{app['app_source']['url']}"
  checkout_branch "master"
  action :sync
end
这不适用于错误消息:

---- Begin output of git ls-remote "ext::ssh -i -----BEGIN RSA PRIVATE KEY----
MIIJKQIBAAKCAgEApaViIRinBrusrE....[key detail]7xAOmo3NAmqcPxdrOI+hZJHh5KRvrQPLHY
-----END RSA PRIVATE KEY----- -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no git@github.com:harrywang/app-main.git" "HEAD" ----
STDOUT: 
STDERR: Warning: Identity file -----BEGIN not accessible: No such file or directory.
ssh: Could not resolve hostname rsa: Name or service not known 
fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

有什么帮助吗?谢谢

-i
获取密钥文件的路径,而不是实际的密钥数据本身。使用
应用程序\u git
食谱与Chef一起设置部署密钥。

-i
获取密钥文件的路径,而不是实际的密钥数据本身。使用
应用程序\u git
食谱与Chef一起设置部署密钥。

根据@coderanger的建议,以下操作有效:

application node['conf-cookbook']['app_dir'] do
  git app['app_source']['url'] do
    deploy_key app['app_source']['ssh_key']
  end
end

根据@coderanger的建议,以下工作:

application node['conf-cookbook']['app_dir'] do
  git app['app_source']['url'] do
    deploy_key app['app_source']['ssh_key']
  end
end

您可以跳过
应用程序
资源,但拥有它很好,而且使用显式
应用程序_git
用法:)@coderange实际上不会更短,非常感谢。我正在向您学习application_python:)您可以跳过
应用程序
资源,但拥有它很好,而且使用显式
应用程序_git
用法,代码实际上不会更短:)@coderange非常感谢。我正在向您学习应用程序(python:)