当通过git进行node.js部署时,如何让Azure使用SSH密钥?

我正在使用本地机器上的git将一个node.js应用程序部署到Azure Web服务:git push azure master

我们的npm包之一是BitBucket上的一个私人回购站。 如果没有Azure使用SSH密钥克隆该回购,则部署将失败。

如何将SSH密钥添加到将在这些部署执行期间使用的Azure服务器?

您需要在Bitbucket上设置一个部署密钥,您可以提供给Azure以从Bitbucket获取包。

  1. 以完整的部署URL(例如https://mysite.scm.azurewebsites.net/deploy ),并用/ api / sshkey?ensurePublicKey = 1replace/部署。 所以它看起来像https:// $ mysite:[email protected]/api/sshkey?ensurePublicKey = 1
  2. 在这个URL上运行curl,它返回一个SSH公钥。 它作为JSONstring返回,因此您需要删除引号。 它应该看起来像ssh-rsa AAAAB3NzaC1etc …
  3. 将此string设置为GitHub / Bitbucket / GitLab存储库上的“部署密钥”。

完整的源代码