Azure错误或我使用npm本地包和github上托管的私有包不正确?

时间:2018-01-13 15:00:47

标签: node.js azure npm npm-install

bug#1)本地包

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

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

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

      “依赖项”:{ “app”:“。/ app” }

    2.   

      根据https://docs.npmjs.com/getting-started/packages

      的本地包
      1. 在我的windows 10机器上,在文件夹/ azure_test中,我运行“npm install”,“npm start”,所有工作和预期。
      2. 保存到github
      3. 在Azure中,创建“应用服务”并配置Azure以直接从github获取源
      4. 这失败了。日志文件在 https://purple01test.scm.azurewebsites.net/DebugConsole/?shell=powershell

        包含

          

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

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

        我是否正确使用本地软件包,它恰好在Windows 10中运行,或者Azure是否有错误?

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

        找到

        bug#2)在github中托管的私有包

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

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

        所以bug#2似乎是Azure无法使用github密码进行依赖。

1 个答案:

答案 0 :(得分:0)

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

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