serverless-domain-manager не может быть найден при развертывании без сервера - PullRequest
0 голосов
/ 23 января 2020

Я получаю приведенную ниже ошибку при развертывании лямбды на AWS с использованием конвейера bitbucket

Ошибка: не удалось настроить сопоставление базового пути. Попробуйте сначала запустить sls create_domain.

Ошибка: не удалось найти «staging-api.simple.touchsuite.com» в API Gateway.

ConfigError: Отсутствует регион в конфигурации

на getDomain.then.then.catch (/opt/atlassian/pipelines/agent/build/node_modules/serverless-domain-manager/index.js: 181: 15)
при
при запуске MicrotasksCallback (внутренняя / process / next_tick. js: 121: 5)
при _combinedTickCallback (внутренняя / process / next_tick. js: 131: 7)
at process._tickDomainCallback (internal / process / next_tick. js: 218: 9)

Для журналов отладки запустите снова после установки переменной среды "SLS_DEBUG = *".

Получить поддержку
Документы: docs.serverless.com Ошибки: github.com/serverless/serverless/issues Проблемы: forum.serverless.com

Информация о вашей среде
Операционная система: linux Узел Версия: 8.10.0
Версия платформы: 1.61.3
Версия плагина: 3.2.7
Версия SDK: 2.3.0
Версия ядра компонентов: 1.1.2
Версия CLI компонентов: 1.4 .0

Итак, я обновил serverless-domain-manager до последней версии 3.3.1

Я попытался развернуть лямбду после обновления serverless-domain-manager, и теперь я получаю следующую ошибку.

Ошибка без сервера

Плагин без сервера "serverless-domain -менеджер "не найден. Убедитесь, что он установлен и указан в разделе «плагины» вашего конфигурационного файла без сервера.

фрагмент serverless.yml

plugins:
  - serverless-plugin-warmup
  - serverless-offline
  - serverless-log-forwarding
  - serverless-domain-manager

custom:
  warmup:
    schedule: 'cron(0/10 12-23 ? * MON-FRI *)'
    prewarm: true
  headers:
    - Content-Type
    - X-Amz-Date
    - Authorization
    - X-Api-Key
    - X-Amz-Security-Token
    - TS-Staging
    - x-tss-correlation-id
    - x-tss-application-id

  stage: ${opt:stage, self:provider.stage}
  domains:
    prod: api.simple.touchsuite.com
    staging: staging-api.simple.touchsuite.com
    dev: dev-api.simple.touchsuite.com
  customDomain:
    basePath: 'svc'
    domainName: ${self:custom.domains.${self:custom.stage}}
    stage: ${self:custom.stage}

фрагмент bitbucket-pipeline.yml

image: node:8.10.0

pipelines:
  branches:
    master:
      - step:
          caches:
            - node
          name: Run tests
          script:
            - npm install --global copy
            - npm install
            - NODE_ENV=test npm test
      - step:
          caches:
            - node
          name: Deploy to Staging
          deployment: staging   # set to test, staging or production
          script:
            - npm install --global copy
            - npm run deploy:staging
            - npm run deploy:integrations:staging
            - node -e 'require("./scripts/bitbucket.js").triggerPipeline()'

Нужно понять, чего мне не хватает, создавая ошибку

1 Ответ

1 голос
/ 23 января 2020

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

...