只更新代码,然后发布版本:基于 Serverless Devs 原子化操作阿里云函数计算

![1.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720670687-556b1c08-c86a-467b-a575函数图像-279cff113003.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=u3acbc75c&margin=%5Bobject%20O函数怎么学bject%5D&aservertimemp;name=1.jpg&a函数的定义mp;originHeight=400&originWidth=600&originalType=binary&rat顶之弈io=1&size=23207&sta倾北冥夜煊免费阅读tus=done&styl函数公式e=none&taskId=u78c3f0cd-4e40-4函数计算公式a4c-a5e2-12a3938d25a)
作者 | Anycodes
servertime
众所周知,随着函数计算表格excel时间的发展,Serverless 命令行工具也逐渐的玩出了更多的花样,就目前来看函数图像,常见的形态有两种,一种是通过 Yaml 来进行资源的描述,另外一种是纯粹的命令行操作,而不依赖函数计算这些内容。

第一种通函数怎么学过 Yaml 来进行资源描述,其好处不言而喻,目前主流云顶之弈Serverless 开发者工具均是类似的模式,例如阿里云的 Funcraft,著名的开源项目 Serverless函数怎么学 Framework 等,通过 Yaml,使用者可以通过简单的命令,进行复杂的操作,例如开发者在 Yaml 中描述好服务、函数等配置,描述好代码位server2008r2密钥置,只需要 deploy 就可以将本地项目部署到线上,非常方便。但是这里有一个非常明显的劣势,在很多时候我们的企函数图像生成器业管理者,给每个人分配的权限是固定的,例如运维人员只能更新某些内容,开发人员只能更新某些代码,某些负责可以发布版本等,那么这个函数公式大全及图解时候”一把梭”的行函数图像生成器为就显得函数图像生成器非常尴尬,想为开发者做更多,但是有些开发者不需要你做更多,那么”函数计算表格excel高阶能力”和”原子能力”的平衡就显得云倾北冥夜煊免费阅读至关重函数的概念视频讲解要的。

第二种模式,虽然是不需要依赖 Yaml,在很多时候使用起来可能会稍微复杂一些,例如我们创建一个函数可能涉及到很多流程:创建服务,创建函数,创建触发器…,相对比上面所说的一条指令而言,确实复杂很多,但是这种无 Yaml 的模式,更适合做原子操作,可以最大程度解决上述问题,同时这种做法阿里云企业邮箱也可以在一定程度上进行更函数计算器在线多的拓展,例如某些本不需云南要依赖 Yaml 的行为:查询服务列表,查询函数列表……

所以这两种模式各有优缺点,阿里云服务器我们在使用的时候完全可以组合来使用,云南农业大学达到云顶之弈最大的一个生产效能。那么一个新问题来了,以阿里云函数计算为例,如何同时拥有这两种模式的使用方法呢?

其实 Serverless Devs 天然支持 Yaml 描述和非 Yaml 描述的能力,例如阿里云函数阿里云盘公测时间计算的 FC 组件就是一个可以依靠 Yaml 描述进行资源操作的组件,而 FC-API 组件则是 API 相关的原子性操作。

本文将会以这样一个案例/场景为例,为读者介绍这两者的使用方法:
**1.通过 Serverless Devs 快速创建一个服务/函数/触发器**
**2.通过无 Yaml 的模式对其中的代码部分进行单独的更新**
**3.阿里云客服兼职怎么报名更新之后发布一个版本**
**4.通过 Git+Github Action 实现一个代码自动化发布和版本自动化发布的能力**
# 快速创建函阿里云客服兼职怎么报名
我们只需要通过云南s init并且选择阿里云函数计算的 Python3 Http 函数即可:
![2.jpg](https://intranetproxy.alipay.com/skylark阿里云/lark/0/2021/jpeg/22456429/1625720725125-001云南大学1d3e4-9af5-483b-9f1d-02979b50b94c.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=ucc1e6dc1&margin=%5Bobject%20Object%5D&name=2.函数计算器在线jpg&originHeight=444&originWidth=720&a云边有个小卖部mp;o函数计算器按键功能图解riginalType=binary&ratio=1&size=71525&status=done&style=none&taskId=u673阿里云邮箱个人版29615-0bf9-4185-98cf-函数计算器使用教程b95c53a2a77)创建完成之后,我们只需要进入到对应的文件夹,并且执行s deploy,即可将项目快速部署到线上。在进入到项目后,我云南大学们可以在项目下看到一个s.yaml的文件,这个文件就是资源描述文件:
![3.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720737555-b2b142ff-94函数计算器使用教程f7-4ede-9eef函数计算表格excel-c函数怎么学70f5c314f4f.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=u6f450784&margin=%5Bobject%20Object%5D&name=3.jpg&originHeight=502&originWidth=720&originalType=binary&ratio=1&size=55026&status=done&style=none&tas函数公式kId=ueb03bebd-f717-4a63-bb58-cea84b8191c)其完整的描述:
_https://github.com/d函数计算evsapp/fc/blob/main/docs/Others/yaml.md_
此时我们可以通过s deploy进行项目的部署:
![4.jpg](https://intranetp阿里云盘什么时候开始公测roxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/16257207云顶之弈49619-42e3阿里云邮箱53f7-644a-4a8a-ad71-02b994bd7940.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=uad8e530f&margin=%5Bobject%20Object%5D&name=4.jpg&originHeight=175&originWidth=720&originalT函数公式大全及图解ype=binary&ratio=1&size=12907&status=done&a函数怎么学mp;style=none&ta云南师范大学skId=u阿里云邮箱个人版bb70007d-fe9b-423c-81e5-55函数计算84271be3d)部署完成,我们可以打开系统分配给我们的域名,我们可以看到内容:
![5.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/16257207函数计算器下载64971-f7e319a2-529c-459b-91bc-b9831184fdd0.jpeg#clientId=u042be0b6-e86c-4&from函数计算器在线使用=ui&id=u7ba3b5ca&margiserversocketn=%5Bobject%20Objeserver是什么意思ct%5D&name=5.j阿里云盘什么时候开始公测pg&originHeight=72&ori函数计算公式ginWidth=720&origservertimeinalType=binary&ratio=1&size=98云缨66&status=done&style=none&taskId=u38a9ea云缨95-b8c4-4函数公式31c-9d47-25cfb8a2dd5)
# 通过无 Yaml 模式更新函数
我们可以编辑index.py,将Hello world!变为Hello world Serverless Devs!
![6.jpg](httpsserver是什么意思中文翻译://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720805970-c2e96ef1-2b36-44b0-9e77-55149eb91d43.jpeg#cserver2008r2密钥lientId=u042be0b6-e函数公式excel86c-4&am函数怎么学p;from=ui&id=u330f9cee&margin=%5Bobject%20Object%5云缨D&函数计算器name=6.jpg&originHeight=383&orig函数计算器怎么关机inWidth=720&originalType=binary&am阿里云p;ratio=1&size=54036云南师范大学&status=done&style=none&taskId=u3c75cfde-f5cb-4b6b-b13d-c5a02e80b36)然后我们就要接触一个新的组件 FC-API :
http阿里云盘公测福利口令s://g云南i函数公式thub.com/devsapp/fc-api
我们可以执行帮助文档:s cli fc-云闪付api -h:
![7.jpg](https://intranet阿里云盘公测时间proxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720820649-890f283d-1fb4-499f-b371-a100b74cc084.jpeg#c阿里云企业邮箱lientId=u042be0b6-e86c-4&from=server酱ui&id=ub2b07f1b&margin=%5Bo云顶之弈bject%20Object%5D&name=7.jpg&originHeight=235&o函数计算公式riginWidth=720&originalType=binary&ratio=1&size=23605&status=done&style=none&函数的概念视频讲解taskId=u8503fad9-145d-4467-a5c3-eef88b1bf5f)此时我们需要明确的是,当我们执行s cli的时候,系统云南就不去读 Yaml,而直接进行相关方法的调用。
如果我们对这个方法还是不清楚,我们可以:s cli fc-api updateFunction -h
![8.jpg](https://intranetpro云顶之弈xy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720837536-6bd92ffb-b15c-42faServer-bd53-3318435dd93e.jpeg#clientId函数求导公式=u042be0b6-e86c-4&from=ui&id=ua0a979serversocket14&margin=%5Bobject%20Object%5D&name=8.jpg&origiserver酱nHeight=420&originWidth=720&o函数计算公式riginalType=binary&函数计算器使用教程amp;ratio=1&size=函数公式大全及图解81215&status=done&style=none&taskId=udee4d72c-2679-4925-b430-cf441b192ae)​此时我们只需要按照规范,填写好地区,服务名,函数名,以及要更新的字段即可:
```
s cli fc-api upd函数计算ateFunction --region cn-hangzhou --serviceName fc-deploy-service --functionName http-trigger-func云南农业大学tion--c云闪付ode '{"zipFile": "./"}'
```
完成之后,我们函数计算可以再去看一下函数计算器在线使用之前的页面是否同步更新了:
![9.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625720919465-c阿里云服务器0e0d89a-c3be-4c64-9502-serverless465a2dbebserversocket2dd.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=u7fe67ab8&mserver怎么读argin=%5Bobject%20Object%5D&name=9.jpg&originHeight=57&originWidth=720&originalType=binary&ratio=1&size=11082&status=do函数计算公式ne&style云南财经大学=none&taskId=u1b23878c-dfd7-411b-81bd-f65b93函数计算公式bc7e5)此处可能有疑问,你的帮助文档写的是:--code string [JSON String] The code阿里云盘公测时间 of the function. The code must be packaged into a ZIP file.你是怎么知道传递--code '{"zipFile": "./"}'的?
_​_
因为在我们看帮助文档的时候,题已经提醒了我们这阿里云盘公测福利口令是一个 JSON String,同时在帮助文档最上面函数计算器下载是有链接地址:
_```_Usage_
```
s cli fc-api updateFunction
API Do函数计算器在线使用cument: https://help.aliyun.com/document_detail/189986.html
Options
--region stringThe region of fc endpoint.
--access stringSpecify the key name.
--props stringThe json string of props.
--serviceName stringT云边有个小卖部he name of the service.
--functionName stringThe阿里云 description of the fu函数的概念视频讲解nction.
--code string[JSON String]The code函数计算 of the function.The code must be packaged into a ZIP file.
```
```
>此时,我们可以打开serversocket https://help.aliyun.com/do函数计算表格excelcument_detail/1899server酱86阿里云服务器.html:
![image](htt阿里云盘公测时间ps://user-images.githubusercontent.com/21079031/124550239-f5fb9900-de62-11eb-819b-9e662cb80fe6.png)
![image](https://user-images.githubusercontent.com/21函数07函数的概念视频讲解9031/124550302-0ca1f000-de63-11eb-974e-945云南农业大学3449e525b.png)
&g函数的定义t;此时为了方便,Serverless devs 支持本地路径,会帮助你进行打函数计算公式包等操作。
当然,我们还可以更刺激一些,修改其他内容,如单纯修改一些 timeou阿里云企业邮箱t:
```
s cli云倾北冥夜煊免费阅读 fc-api updateFunction —region cn-hangzhou —serviceName fc-de云南农业大学ploy-servi阿里云客服ce —functionName http-函数计算器怎么关机trigger-function —timeout 70
```
![image](https://user-images.githubuserconserversockettent.com/21079031/124550447-3bb86180-de63-11eb-836aserver酱-01d102a6eab9.png)
## 通过无 Yaml 模式发布版本
和上面一样,我们可以用`s cli fc-api -h `查看一云南农业大学下版本发布的方法:`s cli fc-api publish函数计算表格excelVersion -h`
![image](https://user-imag阿里云邮箱es.githubusercontent.com/21079031/124550575-715d4a80-d云南师范大学e63-11eb-8182-bd154507e19d.阿里云盘什么时候开始公测png)
尝试函数的定义拼接参数:
```
s cli fc-a云倾北冥夜煊免费阅读pi publishVersion —region cn-hangzhou —serviceNam函数怎么学e fc-deploy-service —description “This is a test ver云南sion”
```
得到结果:
![image](https://user-images.githubusercontent.com/21079031/124550685-9ce03500-de63-11eb-95bf-ed59c阿里云企业邮箱494fd7d.png)
## CI/CD 组件的使用
当我们想要把上面只更新代码,发布版本的能力集云南农业大学成到 CI/CD,或者某些自动化流程中,如何操作呢?
以 GithubAction 为例,我们可server是什么意思以直接执行`s cl云南财经大学i c云倾北冥夜煊免费阅读icd`:
![image](https://user-images.githubusercontent.com/21079031/124550942-07917080-de阿里云客服64-函数计算器下载11eb-8b57-d59Servereba0cdc47.png)
接下来,我们对`.server2008r2密钥/.gi函数计算器怎么关机thub/workflow/s函数的定义erverless阿里云服务器-d阿里云evs.yml`进行自定义编辑:
```yaml
name: Serverless Devs Project CI/CD
on:
push:
branc阿里云hes: [ master ]
jobs:
serverless-devs-cd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm install
- run: npm函数图像生成器 install -g @serverles函数的奇偶性s-devs/s
# 默认密钥配置指令是阿里云密钥配置指令,更多可以参考:
# 如何通过 Github Action使用Serverless Devs 做 CI/CD:http函数计算器在线://short.devsapp.cn/c函数的奇偶性icd/github/action/usage
# Serverless Devs 的官网是通过 Serverless Devs 部署的: http://short.devsapp.cn/cicd/函数的概念视频讲解github/action/practice
- run: s config add --Acc函数的概念视频讲解ountID ${{secrets.AccountID}阿里云盘什么时候开始公测} --AccessKeyID ${{secrets.AccessKeyID}} --AserverlessccessKeySecret ${{se云闪付crets.AccessKeySecret}} -a default
- run: s cli fcserver error-api updateFunction --region cn-hangzhou --s云南ervice阿里云盘公测时间Name fc-deploy-service --funct函数计算器在线使用ionName http-trigger-function --code '{"zipFile":"./"}'
- run: s cli fc-api publishVersion --reg云倾北冥夜煊免费阅读ion cn-hangz阿里云服务器hou --serviceName fc-deploy-service
```
我们只是在最后加了两个人 run,一server酱个是发布代码,一个是发布版本,此时我们可以创建一个 Github 仓库,尝试一下:
![10.jpg](https://intrserverlessanetproxy.alipay云南财经大学.com/skylar函数计算k/lark/0/2021/jpeg/22456429/1625721402052-afc2d4b4-9070-47cb-函数公式excela0e3-442b28e1182阿里云客服a.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=u1ce4548b&margin=%5Bobject%20Object%5D&name=10.jpg函数计算器按键功能图解&originHeight=阿里云邮箱397&originWidth=699&originalType=binary&函数求导公式amp;ratio=1&size=37870&status=do函数计算器使用教程ne&style=none&am阿里云盘公测时间p;taskId=uf6阿里云客服兼职怎么报名591b41-210a-426d-aceb-10088ad0057)创建完成之后,我们可以按照案例提醒,进行密钥的配置:
```
# 默认密钥配函数计算器在线使用置指令是阿里函数计算器按键功能图解云密钥配置指令,更多可以参考:
# 如何通过阿里云服务器 Github Action 使用 Serverless Devs 做 CI/CD:http://short.dev云南大学sapp.cn/cicd/github/action/userver2008sage
# Ser函数公式excelverless Devs 的官网是通过 Serverless Devs 部署的: http://short.devsapp.cn/cicd/github/action/practice
```
![11.jpg](https://intranetpr阿里云邮箱oxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625721459640-b853b6d0-3174-4e3f-8338-b073c708326c.jpeg#clientId=u042be0b6-e86c-4&from=ui&函数计算器在线使用id=uac7401c4阿里云客服兼职怎么报名&margin=%5Bobject%20Object%5D&name=11.jpg&originHeight=395&originWidth=720&originalType=binary&ratio=1&size=4614阿里云4&statusserver酱=done&style=none&taskId=u7459ed7b-cf9b-4222-a1b5函数计算器怎么关机-88461785667)
![12.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/162572146云倾北冥夜煊免费阅读8484-云缨9e44e38b-2473-415f-b3b7-c95e870fe635.jpeg#clientId=u042阿里云企业邮箱be0b6-e86c-4&from=ui&id=u3b9c0280&ma函数计算rgin=%5Bobject%20Object%5D&name=12.jpg&originHeight=169&originWidth=720&originalType函数图像生成器=binar函数计算器手机版下载安装y&ratio=1&size=15306&aServermp;status=done&am函数计算表格excelp;style=none&taskId=u4a61a7ed-2293-43dd-90a7-51f368edd6云倾北冥夜煊免费阅读f)接下来, 我们通过 git init 等一系列指令,完成代码推到仓库:
![13.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg云南大学/22456429/1625721487349-8ec74c42-d5da-4000-964f-a2a3cb5d云南c084.jpeg#clientId=u042be0b6-e86c-4&函数的定义;from=ui&a阿里云盘mp;id=u14ee2f47&amserver是什么意思p;margin=%5Bobject%20Object%5servertimeD&name=13.jpg&originHeigh云顶之弈t=200&originWi函数dth函数求导公式=720&originalType=binary&ratio=函数的定义1&size=39185&am阿里云企业邮箱p;status=do函数的定义ne&a阿里云盘m函数公式p;style=none&taskId=u48f0896c-57f8-431d-9c50-5f3d86dcf72)​此时,我们再次修改代码:
![14.jpg](https://intranetproxy.alipay.c函数公式excelom/skylark/lark/0/2021/jpeg/22456429/1625721515156-48075933-阿里云盘什么时候开始公测3e5e-4354-9e9c-b287432455b8.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=u39d0a函数的定义fc4&margin=%5Bobject%20O云南大学bject%5D&name=14.jpg&originHeight=397&originWidth=720&originalType=binary&ratio=1&size=54204&status=done&style=none&函数怎么学taskId=u3a7edde1-7ba9-4d22-8da6-4062d2922bc)​修改完成之后,我们将代码 push 到测试仓库,可以看到,我们在 Action 中可以看到云缨一个 workflow 在执行:
![15.jpg](https://intrane函数计算公式tproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/函数计算器在线1625721529224-fd032055-4e20-4daf-83c1-11df792478f8阿里云服务器.jpeg#c云南大学lientId=u042be0b6-e86c-4&from=ui&id=b1OHz&margin=%5Bobject%20Object%5D&name=15.jpg&orserver酱iginHeight=194&originW云南师范大学idth=720&originalTyp函数的奇偶性e=binary&云倾北冥夜煊免费阅读;ratio=1&size=19025&status=done&style=none&taservertimeskId=u4ab1de87-3500-469a-90d1-496f7864dd9)​稍等片刻,当这个流程完成:
![16.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625721551451-24fbfb9a-4ec4-4380-b1c8-770995879827.jpeg#clientId=u042be0b6-e86c-4serverless&from=ui&id=u78a53fea&margin=%5Bobject%20Object%5D&name=16.jpg&a函数计算器按键功能图解mp;originHeight=318&originWidth=720&originalType=binary&ratio=1&si函数ze=26808&status=done&styleServer=none&t函数计算器askId=ua4server2008r2密钥680374-f792-4741-92b8-90d2f89e6a4)​我们打开之前的页面,可以看到,网页内容已经顺利被更新:
![17.jpg](https://intranetproxy.alipay.com/skylark/lark/0/2021/jpeg/22456429/1625721566507-3274658c-2877-47ea-8a35-0e云闪付faa249529c.jpeg#clientId=u042be0b6-e86c-4&from=ui&id=ubcd7d9d9&margin=%5Bobjec阿里云盘公测福利口令t%20Object%5D&name=17.jpg&函数的奇偶性originHei函数图像生成器ght=61&originWidth=720&origina阿里云邮箱个人版lType=binary&rati阿里云服务器o=1&size=10918&函数计算表格excelsServertatu函数计算器在线使用s=done&style=none&taskId=u53b0f524-8257-4be7-82d4-aa云缨a7a540c87)​
# 总结
本文以阿里云为例,函数计算器在线使用通过在 Github 上使用 Servelress Devs 单纯对代码进行更新,并进行版本发布,该流程是比函数公式较常见的,也是比较通用的,希望读者可以发挥想象力,将这个流程应用到自己的项目中。

(文章转载自 Go Serverless)
# Serve函数的定义rless Devs 参与的贡献
Serverless Devs 的开源为国内外开发者提供了 Serverless 工具的新选server是什么意思择,让开发者可以以更短阿里云盘的路径体验到多云 Serverless 产品,以更快的速度创建和部署 Serverle函数计算表格excelss 应用,以更阿里云企业邮箱简单和更自动化的方法进行项目管理/运维,未来期待更多开发者参与共建。

目前代码已Server经在 Gitee(码云)和 GitHub 上正式开放:

- Gith函数计算公式ub 地址:_https://github.com/serverless-devs_
- Gitee 地址:_https函数公式大全及图解://gitee.com/organizations/serverless-devs/projects_
- Serverless Devs 官网:_https://www.serverless-devs.com_