Всегда требовать параметр stage для безсерверной инфраструктуры - PullRequest
0 голосов
/ 29 августа 2018

Есть ли способ выполнить выполнение без прерывания без сервера, если этап не задан?

Похоже, по умолчанию используется значение "dev", что не является предпочтительным в настройке нескольких сред, где среда "по умолчанию" не существует.

Самое близкое, что я мог получить, - это чтение переменной конфигурации stage из локального файла. К сожалению, Serverless по умолчанию все еще имеет значение «dev», если переменная stage отсутствует в (существующем) локальном файле. Тем не менее, он выдает предупреждение об отсутствующей переменной.

provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-1
  stage: ${file(serverless-local.yml):stage}

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Может быть, вы можете написать бесполезный плагин для этого.

Другой вариант - использовать этот плагин от Джереми Дейли (https://github.com/jeremydaly/serverless-stage-manager) и удалить разработчика из custom.stages

0 голосов
/ 29 августа 2018

Это немного догадывается, так как я новичок в бессерверной инфраструктуре, но вы можете установить значение по умолчанию, которое используется, когда значение не предоставляется параметром командной строки.

Следующее установит значение по умолчанию dev.

provider:
  stage: ${opt:stage, 'dev'}

Теперь, если вы установите значение по умолчанию пустым или что-то, что не существует, то есть foobar, возможно, тогда вы получите требуемый эффект и прервете выполнение.

Кроме того, документация по перезаписи переменных может дать другие полезные советы в этом случае.

...