Развертывание с помощью триггера сборки Google Cloud "sh: 1: jest: В доступе отказано" - PullRequest
0 голосов
/ 13 марта 2020

Я развертываю приложение nodejs на облачной платформе Google.

Мой cloudbuild.yaml выглядит следующим образом:

steps:
  - name: "gcr.io/cloud-builders/npm"
    args: ["install"]

  - name: "gcr.io/cloud-builders/npm"
    args: ["run", "test"]

  - name: "gcr.io/cloud-builders/gcloud"
    args: ["app", "deploy"]

Я настроил все API и включил их (App Engine et c ..) и развернут с помощью команды:

gcloud builds submit --config cloudbuild.yaml .

Развертывание прошло успешно и пройдены шаги (тест с помощью Jest).

Но когда развертывание запускается через репозиторий Bitbucket . Я получаю эту ошибку на шаге 1 (шаг тестирования):

Already have image (with digest): gcr.io/cloud-builders/npm

> server@1.0.0 test /workspace
> jest --detectOpenHandles

sh: 1: jest: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! server@1.0.0 test: `jest --detectOpenHandles`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the server@1.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /builder/home/.npm/_logs/2020-03-13T13_42_08_361Z-debug.log

Итак, развертывание прошло успешно с помощью gcloud SDK, но возвращает ошибки через триггер.

Любая помощь, пожалуйста

РЕДАКТИРОВАТЬ Я создал репозиторий Github и повторил те же шаги, та же ошибка в триггере:

Уже есть изображение (с дайджестом): gcr.io/cloud-builders/npm

> server@1.0.0 test /workspace
> jest --detectOpenHandles

sh: 1: jest: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! server@1.0.0 test: `jest --detectOpenHandles`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the server@1.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /builder/home/.npm/_logs/2020-03-13T14_09_58_093Z-debug.log

1 Ответ

0 голосов
/ 13 марта 2020

Исправлено :

Я изменил свой тестовый скрипт в пакете. json с:

  "scripts": {
    "start": "node index.js",
    "test": "jest",
    "test:watch": "jest --watch"
  },

на:

  "scripts": {
    "start": "node index.js",
    "test": "sh node_modules/.bin/jest",
    "test:watch": "jest --watch"
  },
...