部署特定于 AWS 状态机的阶段
Deploy AWS state machine stage specific
我是无服务器框架的新手。我只想为开发环境部署状态机,而不是为其他环境部署状态机。我如何部署它特定于阶段?我已经尝试使用 serverless-plugin-ifelse 进行部署,但它在状态机的情况下不起作用。我的 serverless.yml 看起来像
serverlessIfElse:
- If: '"${self:custom.currentStage}" == "beta"'
Exclude:
- stepFunctions.stateMachines
stepFunctions:
stateMachines:
pruneIndices:
${file(./handlers/prune-indexes/prune-indexes.yml)}
如果您可以为您的状态机提供一个名称,请将您要部署到的阶段添加为该状态机名称的一部分。我通常用多个变量命名我的资源以更好地为它们命名,因此例如你可以使用:
${self:service}-myStateMachineName-${opt:stage, 'dev'}
通过这种方式,即使您在同一个帐户上重复使用它,并且如果您在部署过程中通过了一个阶段,例如 serverless deploy --stage mystage
,它也将是唯一的或默认的 dev
如果未指定阶段。
我是无服务器框架的新手。我只想为开发环境部署状态机,而不是为其他环境部署状态机。我如何部署它特定于阶段?我已经尝试使用 serverless-plugin-ifelse 进行部署,但它在状态机的情况下不起作用。我的 serverless.yml 看起来像
serverlessIfElse:
- If: '"${self:custom.currentStage}" == "beta"'
Exclude:
- stepFunctions.stateMachines
stepFunctions:
stateMachines:
pruneIndices:
${file(./handlers/prune-indexes/prune-indexes.yml)}
如果您可以为您的状态机提供一个名称,请将您要部署到的阶段添加为该状态机名称的一部分。我通常用多个变量命名我的资源以更好地为它们命名,因此例如你可以使用:
${self:service}-myStateMachineName-${opt:stage, 'dev'}
通过这种方式,即使您在同一个帐户上重复使用它,并且如果您在部署过程中通过了一个阶段,例如 serverless deploy --stage mystage
,它也将是唯一的或默认的 dev
如果未指定阶段。