部署特定于AWS状态机阶段

时间:2020-02-15 07:56:37

标签: amazon-web-services yaml serverless-framework aws-step-functions serverless-plugins

我是无服务器框架的新手。我只想为开发环境部署状态机,而不要为其他环境部署状态机。如何在特定阶段部署它?我已经尝试了无服务器-插件-ifelse进行部署,但是在状态机的情况下它不起作用。我的serverless.yml看起来像

serverlessIfElse:
    - If: '"${self:custom.currentStage}" == "beta"'
      Exclude:
        - stepFunctions.stateMachines
 stepFunctions:
  stateMachines:
    pruneIndices:
      ${file(./handlers/prune-indexes/prune-indexes.yml)}

1 个答案:

答案 0 :(得分:1)

如果可以为您的状态机提供名称,请​​添加要部署的阶段作为该状态机名称的一部分。我通常用多个变量来命名资源,以更好地命名它们,例如,您可以使用:

${self:service}-myStateMachineName-${opt:stage, 'dev'}

通过这种方式,即使您在同一帐户上重复使用状态机,每个服务的状态机也将始终是唯一的,并且如果在部署过程中通过了serverless deploy --stage mystage之类的阶段,则状态机将是唯一的或默认为{{1} }(如果未指定阶段)。