serverless-framework - 如何通过访问舞台和区域触发挂机脚本?
问题描述
我使用任何允许我执行此操作的插件在无服务器挂钩上运行脚本:
- https://www.npmjs.com/package/serverless-scriptable-plugin
- https://www.npmjs.com/package/serverless-hooks-plugin
- https://www.npmjs.com/package/serverless-plugin-scripts
例如
custom:
scriptable:
hooks:
before:deploy:deploy: node createEnvFileInteractive.js
如何将stage
andregion
变量传递给脚本?
解决方案
我会说有两种选择如何去做(至少我尝试过并且知道的)。
- 传递
stage
和region
作为环境变量:
# serverless.yml
custom:
scriptable:
hooks:
before:deploy:deploy: STAGE=${self:provider.stage} node createEnvFileInteractive.js
- 将 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
推荐阅读
- java - Selenium Webdriver - Java;在表格中查找并单击一个按钮(带有事件监听器)
- hive - 在蜂巢中连续6年查找每15分钟间隔内的用户数
- html - 带有标签效果的文本输入 iussue
- html - 使我的网站具有响应性(在任何手机、台式机中)
- c++ - C++中方法参数类型的静态自省
- php - Syntax in function's parameters in documentation
- linux - 删除几乎没有差异的重复行
- node.js - 有没有办法针对 chrome 扩展运行 webdriver.io selenium 测试?
- python - 多处理:AttributeError:“导入”对象没有属性“__private_method”
- python - python - 如何在具有特殊日期结构的python中订购DataFrame?