评论

云开发还可以这么玩系列之二----小手一点,一键部署!

小白也可以完成的一键快速部署云开发教程,看完你就懂


首先回顾一下上期的分享


云开发还可以这么玩!从红包外卖券薅羊毛说起...


其中聊到了如何使用 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,请勿用于商业用途,不然挖地三尺也要追则到底。

最后一次编辑于  01-14  
点赞 9
收藏
评论

5 个评论

  • 微喵网络
    微喵网络
    发表于移动端
    01-13
    01-13
    赞同 1
    回复 2
    • 微旺网络
      微旺网络
      01-13
      汪?汪汪?汪汪汪!
      01-13
      1
      回复
    • 袁述~
      袁述~
      01-14
      这喵和汪撞一起了?究竟能擦出怎样的火花,敬请期待下集预告~
      01-14
      回复
  • 青寒
    青寒
    01-14

    两个画风独特的图看懂了。

    01-14
    赞同
    回复
  • 拾忆
    拾忆
    01-13

    大佬威武,大部分看不懂,只看懂一点。

    01-13
    赞同
    回复
  • CitizenFour
    CitizenFour
    01-13

    举头三尺有神明

    01-13
    赞同
    回复
  • brave
    brave
    01-13
    一键三连给大佬递茶
    01-13
    赞同
    回复
登录 后发表内容