首先回顾一下上期的分享
其中聊到了如何使用 tcb cli 及tcb framework,并对其进行扩展,以更高效、更便捷的进行项目的切换及部署。
今日偶逛社区,意外发现有同学提出了这样一个问题:
小程序云开发的环境切换,如何快速把云函数、存储导入到新环境?
看到这个帖子,我不禁又陷入了沉思:
仔细看看,其实需求的解决方案在上期的分享中已经阐述的很清楚了。难道我的帖子没人看?难道我的SEO做的不够好?
然而,回头再思考一下,通过修改配置文件、扩展cli命令的方式,其实并不是一种特别友好的方式。一是有一定的开发门槛,二是对操作人员,黑气吗黑的命令行也不是人见人爱......
那么有没有一种方案既能做到配置简单,又对想要快速部署的新手甚至一窍不懂的小白友好呢?
答案是肯定的。
来,首先快速体验一下快速部署的魅力!
这是一个简单的博客小程序,基本的分类、文章、检索、浏览。
简陋,但是五脏俱全。
你也想快速拥有并部署一个?没问题,请做以下准备工作:
1 一个开通了云开发并创建了云环境的小程序,复制他的appId备用;
2 小程序后台,开发管理-开发设置-小程序上传管理中,生成小程序上传密钥,下载密钥文件备用,同时关闭代码上传ip保护;
接下来,点击下方按钮,按照步骤进行(请在pc浏览器下进行此操作,移动端体验并不好):
选择云环境:
输入小程序appid,访问链接上传密钥文件生成base64字符串,并填写:
点击“完成”,稍等片刻,等待构建部署完成,见证奇迹的时刻到了!
进入腾讯云控制台,云函数及db创建部署完成:
进入小程序管理后台,版本管理。会发现已经上传了小程序版本:
还等什么?扫码体验吧!
那么,这一切是怎么做到的?这个神奇的“部署到云开发”的按钮背后究竟隐藏着什么秘密?走进云开发即将为你揭晓...(跑题了)
有请今天的主角登场:
正如一键部署的介绍中说:
一键部署按钮可以让公开的 Git 项目一键部署到云开发 CloudBase 上,大大简化用户部署的门槛,方便用户快速使用和体验应用。一键部署功能支持 Github,Gitlab,Coding,Gitee 等 Git 仓库地址。
一键部署其实就是在tcb framework的基础上,通过引入git项目,读取配置,从而能够快速的部署项目到云。
更多详细的,请大家参阅文档,有一个基础的认识。接下来针对此博客小程序来剖析一下详细的配置,相关git代码文末将放出。
1 DB插件配置:
部署的时候会自动生成分类(categories), 文章(articles),及数据库迁移记录(mirgates)三个集合,如果已存在,则会跳过创建;
2 云函数插件配置:
api是整个博客的云函数接口,migrate是每次deploy时候执行的db迁移脚本,方便进行数据初始化、数据清洗。
3 小程序部署插件配置:
简单易懂。唯一需要注意的是{{env.WX_APPID}}和{{env.WX_CI_KEY}}。
没错,这就是之前准备工作中提到的小程序appid和小程序上传密钥了。
这里用到的是模板变量的概念:模板变量
所谓模板变量,实际是通过读取项目下的.env, .env.local,或者是用户自定义的.env.xxx配置文件,注入变量到cloudbaserc中,这样就可以方便的进行模式切换。
同时,也可以通过framework配置中requirement的environment配置,在一键部署的时候,通过用户的输入注入到配置文件中,实现自定义:
4 framework的hook配置:
所谓hook,即是在部署前后执行的钩子动作,可以进行一些预编译,或者在部署完成后执行相关的云函数进行一些操作。
这里postdeploy在部署完成后执行了migrate云函数,进行了db数据的一些初始化工作,感兴趣的可以看一下源码。
至此,一个可以完美支持一键部署的云开发小程序就配置ok了,可以进行一键部署了。
看,是不是很方便?
tcb Framework及一键部署,想象的空间还有很多,当然也存在一定的局限性,优点缺点都有待各位看官去进一步挖掘了。
无论如何,值得你去用!
本项目源码见:https://github.com/yautah/cloudblog,欢迎指正、star、fork、pr,请勿用于商业用途,不然挖地三尺也要追则到底。
两个画风独特的图看懂了。
大佬威武,大部分看不懂,只看懂一点。
举头三尺有神明