首页 > 解决方案 > 如何通过访问舞台和区域触发挂机脚本?

问题描述

我使用任何允许我执行此操作的插件在无服务器挂钩上运行脚本:

例如

custom:
  scriptable:
    hooks:
      before:deploy:deploy: node createEnvFileInteractive.js

如何将stageandregion变量传递给脚本?

标签: serverless-framework

解决方案


我会说有两种选择如何去做(至少我尝试过并且知道的)。

  1. 传递stageregion作为环境变量:
# serverless.yml
custom:
  scriptable:
    hooks:
      before:deploy:deploy: STAGE=${self:provider.stage} node createEnvFileInteractive.js
  1. 将 js 脚本设置为钩子并利用serverless对象 -请检查第 4 个示例
# serverless.yml
custom:
  scriptable:
    hooks:
      before:deploy:deploy: createEnvFileInteractive.js
// createEnvFileInteractive.js
const stage = serverless.service.provider.stage
const region = serverless.service.provider.region

const customValue = serverless.service.custom.customValue
...

//or
const {stage, region} = serverless.service.provider

推荐阅读