使用
helm pull
和 ssh://
url 立即失败:
mark@L-R910LPKW:~$ helm pull --destination /tmp/xyz --version 0.0.1 --repo ssh://[email protected]/v3/MyOrg/MyProject/MyRepo MyChart
Error: could not find protocol handler for: ssh
mark@L-R910LPKW:~$
我的本地 git 可以与
ssh://
一起工作:
mark@L-R910LPKW:/tmp$ git clone ssh://[email protected]/v3/MyOrg/MyProject/MyRepo xyz
Cloning into 'xyz'...
remote: Azure Repos
remote: Found 2672 objects to send. (97 ms)
Receiving objects: 100% (2672/2672), 380.31 KiB | 6.79 MiB/s, done.
Resolving deltas: 100% (692/692), done.
mark@L-R910LPKW:/tmp$
有没有办法使用 SSH 密钥从 git repo 中提取
helm
?
编辑1
我的问题是关于 helm 的。我对自己克隆回购协议然后指向它的解决方法不感兴趣。
是的,您可以按照以下步骤将 Helm 配置为使用 SSH 密钥从 Git 存储库中提取:
1- 如果您还没有在本地计算机上生成 SSH 密钥对,请这样做。您可以使用 ssh-keygen 命令执行此操作。
2- 将公钥添加到您要从中提取的 Git 存储库。此步骤将取决于您使用的 Git 托管服务。例如,如果您使用的是 GitHub,则可以转到存储库设置并将公钥添加到“部署密钥”部分。
3- 通过将以下行添加到您的 values.yaml 文件,将 Helm 配置为使用 SSH 密钥:
git:
sshKey: |
-----BEGIN RSA PRIVATE KEY-----
# Add your private key here
-----END RSA PRIVATE KEY-----
用您的实际私钥替换 #Add your private key here 占位符。确保使用正确的缩进和格式。
4- 将 values.yaml 文件中的 git.url 值设置为 Git 存储库的 SSH URL。例如:
git:
url: [email protected]:myusername/myrepo.git
5- 使用 helm dependency update 命令使用 SSH 密钥从 Git 存储库中拉取图表依赖项。
通过这些步骤,Helm 应该能够使用 SSH 密钥从 Git 存储库中提取图表依赖项。