Azure конвейер сборки DevOps - npm ci - неожиданный конец ввода JSON - PullRequest
4 голосов
/ 26 марта 2020

У меня Azure конвейер сборки DevOps, настроенный для сборки NPM приложения, которое включает в себя следующие задачи:

  1. Установка Node.js (Node.js установщик инструмента) - Версия Spe c 10.x
  2. npm ci (npm задача)

И почти всегда происходит сбой в задаче npm ci с ошибкой:

SyntaxError: Unexpected end of JSON input while parsing near ', а затем некоторая случайная строка, каждый раз отличающаяся.

enter image description here

Если я перезапущу задание вручную, оно будет работать. Затем при следующей сборке снова происходит сбой (пока я снова не перезапущу его вручную).

Я также использую Azure Канал артефактов с настроенными исходными источниками на https://registry.npmjs.org/, а задача npm ci настроена на использовать пакеты из этого реестра.

enter image description here

Я пытался:

  1. удалить канал Artifacts и создать новый
  2. удалить Install Node.js задачу
  3. изменить версию узла
  4. изменить npm ci на npm install

и ничего не работает. Как еще я могу это исправить?

РЕДАКТИРОВАТЬ - 03 апреля 2020

Вот мой пакет. json - Я удалил некоторые личные данные. Существует два частных пакета @project-name/jodit-vue и @project-name/vuex-orm-plugin-axios, размещенных на Azure Артефактах - это вилки jodit-vue и vuex-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"
  ]
}

решено (частично) - 15 апреля 2020 года

Я изменил npm ci на npm install несколько дней go. Больше никаких сбоев, каждая сборка успешно завершена с момента этого изменения. install медленнее, чем ci, но мы можем провести еще одну минуту в каждой сборке, но будьте уверены, что она не выйдет из строя.

...