Azure DevOps 构建管道 - npm ci - JSON 输入意外结束

Kin*_*ary 6 node.js npm azure-devops azure-pipelines azure-artifacts

我将 Azure DevOps 构建管道配置为构建 NPM 应用程序,其中包括以下任务:

  1. 安装 Node.js(Node.js 工具安装程序)- 版本规范 10.x
  2. npm ci(npm 任务)

它几乎总是在npm ci任务上失败,并出现错误:

SyntaxError: Unexpected end of JSON input while parsing near ' 然后是一些随机字符串,每次都不同。

在此处输入图片说明

如果我手动重新运行该作业,它将起作用。然后,在下一次构建时,它再次失败(直到我再次手动重新运行它)。

我还使用 Azure Artifacts 源https://registry.npmjs.org/和配置的上游源,并且npm ci任务被配置为使用来自该注册表的包。

在此处输入图片说明

我试图:

  1. 删除工件提要并创建一个新提要
  2. 移除Install Node.js任务
  3. 更改节点版本
  4. 更改npm cinpm install

没有任何效果。我还能怎么解决?

编辑 - 2020 年 4 月 3 日

这是我的 package.json - 我已经删除了一些私人数据。有两个私人包,@project-name/jodit-vue@project-name/vuex-orm-plugin-axios在Azure托管文物-这些是叉子jodit-vuevuex-orm-plugin-axios一些自定义。

此外,最近失败的构建较少。现在大约有八分之一的构建失败。

{
  "name": "name",
  "version": "1.0.0",
  "private": true,
  "scripts": {

  },
  "dependencies": {
    "@project-name/jodit-vue": "^1.2.4-fix",
    "@project-name/vuex-orm-plugin-axios": "0.5.0",
    "@stomp/stompjs": "^5.4.2",
    "@vuex-orm/core": "^0.33.0",
    "axios": "^0.19.0",
    "chart.js": "^2.9.3",
    "chartjs-plugin-colorschemes": "^0.4.0",
    "core-js": "^3.4.8",
    "crypto-js": "^3.1.9-1",
    "drag-drop-touch": "^1.3.0",
    "emoji-mart-vue-fast": "^6.1.2",
    "file-saver": "^2.0.2",
    "jquery": "^3.4.0",
    "lodash": "^4.17.14",
    "moment": "^2.24.0",
    "oidc-client": "^1.9.1",
    "shepherd.js": "^5.0.1",
    "vue": "^2.6.10",
    "vue-chartjs": "^3.5.0",
    "vue-class-component": "^7.1.0",
    "vue-cookie-law": "^1.8.0",
    "vue-cropperjs": "^4.0.0",
    "vue-i18n": "^8.15.1",
    "vue-matomo": "^3.13.0-0",
    "vue-property-decorator": "^8.3.0",
    "vue-recaptcha": "^1.3.0",
    "vue-router": "^3.1.3",
    "vue-stripe-elements-plus": "^0.2.8",
    "vuejs-logger": "^1.5.3",
    "vuetify": "^1.5.21",
    "vuex": "^3.1.2",
    "vuex-oidc": "^3.3.1",
    "xlsx": "^0.15.2"
  },
  "devDependencies": {
    "@babel/core": "^7.7.5",
    "@babel/plugin-transform-runtime": "^7.7.6",
    "@babel/preset-env": "^7.7.6",
    "@babel/preset-typescript": "^7.7.4",
    "@kazupon/vue-i18n-loader": "^0.4.1",
    "@storybook/addon-actions": "^5.3.13",
    "@storybook/addon-docs": "^5.3.13",
    "@storybook/addon-knobs": "^5.3.13",
    "@storybook/addon-links": "^5.3.13",
    "@storybook/addon-viewport": "^5.3.13",
    "@storybook/vue": "^5.3.13",
    "@types/chai": "^4.1.6",
    "@types/crypto-js": "^3.1.43",
    "@types/file-saver": "^1.3.1",
    "@types/jquery": "^2.0.47",
    "@types/lodash": "^4.14.119",
    "@types/mocha": "^2.2.46",
    "@types/sinon": "^7.0.13",
    "@types/stripe": "^5.0.24",
    "@types/stripe-v3": "^3.0.8",
    "@types/webpack": "^4.4.14",
    "@types/webpack-env": "^1.13.6",
    "@vue/cli": "^4.1.1",
    "@vue/cli-plugin-babel": "^4.1.1",
    "@vue/cli-plugin-eslint": "^4.1.2",
    "@vue/cli-plugin-pwa": "^4.1.1",
    "@vue/cli-plugin-typescript": "^4.1.1",
    "@vue/cli-plugin-unit-jest": "^4.1.1",
    "@vue/cli-plugin-unit-mocha": "^4.1.1",
    "@vue/cli-service": "^4.1.1",
    "@vue/eslint-config-typescript": "^4.0.0",
    "@vue/test-utils": "1.0.0-beta.29",
    "babel-loader": "^8.0.6",
    "babel-plugin-transform-imports": "^2.0.0",
    "chai": "^4.2.0",
    "eslint": "^5.16.0",
    "eslint-plugin-vue": "^5.0.0",
    "moment-locales-webpack-plugin": "^1.1.2",
    "node-sass": "^4.13.0",
    "react": "^16.12.0",
    "react-is": "^16.12.0",
    "sass-loader": "^8.0.0",
    "sinon": "^7.4.1",
    "stylus": "^0.54.7",
    "stylus-loader": "^3.0.2",
    "typescript": "^3.7.4",
    "vue-cli-plugin-i18n": "^0.6.0",
    "vue-cli-plugin-storybook": "^1.2.0",
    "vue-cli-plugin-vuetify": "^2.0.2",
    "vue-jest": "^3.0.4",
    "vue-loader": "^15.7.1",
    "vue-template-compiler": "^2.6.10"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

Run Code Online (Sandbox Code Playgroud)

已解决(部分)- 2020 年 4 月 15 日

我已经改变npm cinpm install前几天。不再失败,自此更改以来,每个构建都成功完成。 install速度较慢,ci但我们可以在每个构建中多花一分钟,但要确保它不会失败。