Azure 错误还是我错误地使用了托管在 github 上的 npm 本地包和专用包?



bug #1) 本地软件包

  1. 创建了一个测试项目"azure_test">
  2. 在文件夹"azure_test"中运行命令"express --view=hbs app"。

/azure_test/app 作为 npm 包的所有结构,但位于一个目录中。 本质上是一个本地包。

  1. in Azure_test/package.json 声明了对此本地包的依赖关系

    "依赖关系":{ "应用程序": "./应用程序" }

根据 https://docs.npmjs.com/getting-started/packages 的本地套餐

  1. 在我的 Windows 10 机器上,在文件夹/azure_test 中,我运行"npm install"、"npm start"以及所有工作和预期。
  2. 保存到 GitHub
  3. 在 Azure 中,创建一个"应用服务"并将 Azure 配置为直接从 github 获取源代码

这将失败。日志文件位于 https://purple01test.scm.azurewebsites.net/DebugConsole/?shell=powershell

包含行

26 详细 git 克隆 git://github.com/./app 致命: 远程错误:

如果我从/azure_test/app/package.json 中删除所有依赖项并将这些依赖项复制到/azure_test/package.json 中(即:不使用本地包)。 然后一切都在 Azure 上运行,但我失去了本地包的模块化(手动将依赖项复制到顶层)。

那么我是否正确地使用本地包,它恰好在 Windows 10 中工作,还是 Azure 有错误?

我公开了这个测试项目。可以在 https://github.com/johngrabner/azure_test/

错误 #2) 托管在 GitHub 中的私有包

"dependencies": {
"purple_shared_enums_pic_pi": "git+https://github.com/johngrabner/purple_shared_enums_PIC_PI.git"
}

这也会导致 Azure 失败。 如果 github 中托管的包是公共的,则 Azure 已通过。

因此,错误#2似乎是Azure无法将github密码用于依赖项。

我做了一些研究,发现Docker/Kubernetes可能是部署的更好选择。 许多课程和在线视频列出了"不再,它在我的机器上工作,但不能在生产中工作"。

您将应用程序打包在 Docker 中,在其中指定确切的操作系统、中间件等。 在您的计算机上进行测试。 然后将此映像部署到 Azure、AWS 或 Google。 Kubernetes 管理这些映像的跨度。

最新更新