关于 Serverless Devs Plugin机制的讨论 #432
anycodes
started this conversation in
Show and tell
Replies: 2 comments 1 reply
-
|
综上所述:需要提供的内容包括:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
在 Serverless Devs 项目开始之初,我们确定了 Serverless Devs 的 Package 有三种形式:
所谓的应用,指的就是一个 Serverless 项目,一般可以用一个 Yaml + Code 表示一个应用;而所谓的组件,则是应用操作过程中所需要的一些能力支持;我经常把这个比喻成游戏机和游戏卡:
Serverless Devs Cli就是一台游戏机,而各种游戏/功能,被放在不同的游戏卡中,通过插入不同的游戏卡,可以玩不同的游戏,所以一个应用可以通过插入不同的组件,实现不同的功能。例如某应用的描述如下:
在这个应用中可以看到有三个模块,分别是:
整个应用,通过四个部分组成,部署了前后端业务,API网关资源以及相关静态资源的处理。
但是在实际应用过程中,我们发现,单纯的组件 + 无状态的钩子,没办法满足用户们日益增长的需求,那么我们最初的插件逻辑,就逐渐的“提上”来了:
插件:一种在Actions中表现的,对上下文进行处理的能力,在上面的应用中,我们不难发现:
在express-blog中,有一个actions,actions表示的是在该模块执行前后的一些自定义操作,例如:
pre-***: 在执行***前的操作post-***:在执行***后的操作那么插件是什么?
如上所示,在Actions中,有一个
pre-deploy,内容是:表示的是在执行deploy命令之前,在目录
./express-blog下面,进行npm run build操作,除了这种单纯“钩子”行为,Serverless Devs还将会支持一种Plugin的模式,与这种钩子行为不同的是:npm install等命令,实际上就是一个shell指令;inputs信息传入给该plugin,完成之后,会讲该plugin的返回作用给下一个状态;整个逻辑是这样的:
所以,可以认为,Plugin机制是有状态传递的,常见的应用如下:
解决当前常见的那些问题?
s deploy -t *** -a ***,此时外面的内容不回传给s nas upload,导致行为表现不一致;plugin的使用方法:
deploy后,项目的执行逻辑:
./express-blog下执行npm run buildBeta Was this translation helpful? Give feedback.
All reactions