我的节点应用程序占主导地位,因此它被分成许多npm包。这些包托管在github上的私有存储库中。
在我的电脑上,我克隆了repo,npm init,提示输入密码,npm run,一切都很好。
现在我正在尝试部署到谷歌云应用引擎(谷歌云中的新手)。 教程说添加一个名为app.yaml的文件,内容为
env: flex
runtime: nodejs
然后我输入“gcloud app deploy”。第一个报告的错误是
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/johngrabner/moch_time.git
如何为gcloud提供密码,以便它可以提取私人包裹?
或者,“gcloud app deploy”还不够成熟吗?
或者,在github中使用和存储私有npm包是一种构建项目的奇怪方式吗?
答案 0 :(得分:1)
gcloud命令在部署应用时不提供包含密码的选项。如果要指定访问私有GitHub存储库的凭据,可以按照此link进行操作。
在开始上一个教程中指示的步骤之前,您应该为GitHub身份验证生成新的SSH。执行此操作的步骤为here。
或者,您可以使用源存储库将GitHub存储库连接到GCP存储库(请按照此link了解如何执行此操作)。这也允许存储您的凭据以供进一步使用。
答案 1 :(得分:1)
我做了一些研究,发现Docker / Kubernetes可能是更好的部署选择。列出了许多课程和在线视频"不再,它在我的机器上工作,但不在生产中#34;。
您将应用程序打包在Docker中,您可以在其中指定确切的操作系统,中间件等。在您的计算机上进行测试。然后将此映像部署到Azure,AWS或Google。 Kubernetes负责管理这些图像的显示。