小程序CI 与 CloudBase-FrameWork

从2017年开始,微信小程序的能力也随着前端的大发展的趋势越来越多,包体积限制越来越宽松,大型微信小程序的开发团队越来越多,为了适应形式,微信小程序官方团队在2020年1月推出了官方CI工具,可以进行代码上传、预览、拉取关键信息等操作,甚至还能简单的做云开发云函数的上传工作。

这对于大型小程序开发团队来说是好消息,其总算解决了微信小程序的工程化协作开发的历史难题。

云开发作为微信小程序的最佳后端云服务,单靠小程序CI工具,还是不能有效满足基于云开发进行小程序开发的协作问题,因为云开发所要涉及的,可是整个的后端服务,包括数据库等各项基础配置。

云开发以支持微信小程序为起点,朝全平台应用服务支持迈进的同时,也在CI方面做了相应的工作,推出了云开发专门的CI工具—CloudBase-FrameWork,是前后端一体化的部署工具,不止可以进行云开发相应能力的部署,还可以做前端项目的部署工作。

现在,CloudBase-FrameWork支持部署微信小程序,除次之外,你还可以部署微信小程序所需要的全部云开发能力,包括云函数、数据库、存储等各种能力。同时,如果你的项目是一个跨平台的产物,还有WEB以及APP产品,CloudBase-FrameWork也可以一次性完整的为你部署。

在项目开发协作中,除了业务代码之外,只需要在配置文件中进行相应配置,CloudBase-FrameWork就可以自动完成相应部署工作。



所以,使用云开发作为后端服务的微信小程序开发团队,可以完全不用自己建设,直接使用即可。以下是小编在Coding中使用CloudBase-FrameWork的持续集成流程配置



配合企业微信的群机器人,在开发成员push代码后,自动构建并提醒开发者进行预览。

如何使用CloudBase FrameWork部署微信小程序

接下来小编就带大家简单实践一下,如何使用CloudBase-FrameWork部署微信小程序

步骤一:获取代码 点击进入项目地址,获取实践的源码。这是一个比较简单的小程序,通过云开发·云调用提供的安全检测能力进行文字和图片的安全检测。

步骤二:配置cloudbaserc文件 项目的根目录中,有cloudbaserc.json文件,这是CloudBase-FrameWork工作的保障和依据。



其中,envId是云开发环境id,示例是通过环境变量引入形式给定的值,在实际部署时会被变量的值所替换。

插件是cloudbase-framework执行部署时发挥作用的模块,在示例项目中,只有部署云函数和部署小程序两件事情。

function插件主要用于部署云函数,示例项目中有两个云函数,根据业务要求进行相应配置,framework就会按照配置进行部署工作。



详细的部署文档可以参考官方文档

mp插件用于部署微信小程序,其将小程序有关代码打包上传,并返回相应的预览二维码。除了上传小程序所必要的配置信息,返回的二维码保存的地址也可配置。



详细的部署文档可以参考官方文档

以上所有配置文件如果无特殊想法无需修改。

步骤三:创建env文件 在示例项目的根目录创建.env文件,设置自己的环境变量参数,包括云开发的环境ID,小程序appid,以及小程序代码上传私钥。具体效果如下: ENV_ID=替换你的云开发环境ID WX_APPID=替换你的微信小程序appid WX_CI_KEY_PATH=小程序上传密钥文件路径

小程序appid是一个微信小程序的关键标识信息,可以在开发者后台的开发栏目里看到,如下图所示:



而小程序代码上传密钥,在appid的信息下方,点击生成按钮,经过微信验证下载密钥文件,将文件重新命名为private.key,放置在示例项目根目录下。另外,代码上传的IP白名单需要关闭。



如果你想保持打开,可以在第一次framework部署时出现拒绝错误,将返回的ip地址(也就是你自己的本机ip地址)放置到白名单中。

云开发需要使用微信开发者工具提前开通,注意保存云开发环境ID信息。最终,配置的信息如下所示:



步骤四:安装依赖 framework是集成在CLI工具中的,所以需要npm全局安装CLI工具,执行如下命令: npm install -g @cloudbase/cli@latest

之后,直接执行tcb即可自动检测并部署,选择Y,继续部署



之后,cloudbase-framework就根据配置文件的要求进行部署,并将小程序的预览二维码保存到规定的地方。



不止简单的CI工具 如此,你便从本地完成framework自动化部署的过程。当然除了示例项目简单的云函数、微信小程序部署,cloudbase-framework还可以同时完成更多的事情。比如部署数据库、云托管、Nuxt SSR应用、Deno应用、Node应用等等,具体可以直接到官网获得

不仅如此,CloudBase-FrameWork还推出了一键部署功能,特别适合开源项目使用。体验者只需要点击部署按钮,CloudBase-FrameWork会直接跳转腾讯云控制台,引导体验者一步步的填写部署所需信息(包括选择环境,填写小程序appid等),直接拉取开源代码进行安装部署,彻底解决了因为体验者经验不同导致开源项目千人千面的窘迫境地。

如果你所在的开发团队还没有get这个最强利器,还等什么呢?

点击下面地址,尝试示例项目部署安全检查小程序 https://github.com/TCloudBase/WXAPP-SecCheck

CloudBase Framework 开源项目介绍

CloudBase Framework 是云开发开源的云原生前后端一体化部署工具,支持主流前后端框架,前后端一键托管部署在云端一体化平台,支持支持小程序、Web、Flutter、后端服务等多个平台。

Github 开源地址:https://github.com/TencentCloudBase/cloudbase-framework

欢迎给 CloudBase Framework 一个 star

CloudBase Framework 核心贡献者计划

欢迎大家参与 CloudBase Framework 的开发工作,成为我们的贡献者,我们将会在云开发社区展示贡献者的作品和信息,同时也会有惊喜奖励。

您可以选择如下的贡献方式:

CloudBase Framework 的发展离不开社区的积极贡献,这是我们的核心贡献者列表,再次感谢大家的贡献:https://github.com/TencentCloudBase/cloudbase-framework#contributors-

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。

开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite

产品文档:https://cloud.tencent.com/product/tcb?from=12763

技术文档:https://cloudbase.net?from=10004

技术交流加Q群:601134960

最新资讯关注微信公众号【腾讯云云开发】

小程序·云开发地表最强CI利器来了的更多相关文章

  1. 【微信小程序云开发】从陌生到熟悉

    前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前 ...

  2. 微信小程序云开发更换云开发环境

    小程序云开发环境初始化默认是第一个环境,但是我们可以指定环境id //app.js App({ onLaunch: function () { if (!wx.cloud) { console.err ...

  3. 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)

    2019年2月26日,人们为了一个杯子疯了一天. 星巴克猫爪杯,一场已经与猫无关了的“圣杯战争“.网上的倒卖价格,已炒至近千元! 求而不得,舍而不能,得而不惜.这是人最大的悲哀... 所以,请珍惜以下 ...

  4. 微信小程序-云开发(手记)

    微信小程序-云开发(手记) 1.创建data.json文件 注意以下几点要求: 入门示例: init方法的env:默认环境配置,传入字符串形式的环境 ID(理解为数据库)可以指定所有服务的默认环境(意 ...

  5. 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作

    爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...

  6. 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现

    第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...

  7. “我要点爆”微信小程序云开发实例

    使用云开发进行微信小程序“我要点爆”的制作 下一章:“我要点爆”微信小程序云开发之项目建立与我的页面功能实现 接下来我将对“我要点爆”微信小程序进行完整的开源介绍 小程序名称: 我要点爆 查看方式:从 ...

  8. 用小程序·云开发两天搭建mini论坛丨实战

    笔者最近涉猎了小程序相关的知识,于是利用周末时间开发了一款类似于同事的小程序,深度体验了小程序云开发模式提供的云函数.数据库.存储三大能力.关于云开发,可参考文档:小程序·云开发. 个人感觉云开发带来 ...

  9. 小程序·云开发的HTTP API调用丨实战

    小程序云开发之httpApi调用. 小程序云开发之httpApi调用(返回"47001处理") 技术栈 采用 nodejs + express 搭建web服务器,采用 axios ...

随机推荐

  1. python爬取知乎评论

    点击评论,出现异步加载的请求 import json import requests from lxml import etree from time import sleep url = " ...

  2. RocketMQ扫盲篇

    本篇博客主要参考: <浅入浅出>-RocketMQ 敖丙 APACHE-RocketMQ Gitee RocketMQ官方文档 RocketMQ 实战与进阶 GitChat 又是好久没有写 ...

  3. java: 非法字符: '\ufeff'

    错误问题记录: Error:(1, 1) java: 非法字符: '\ufeff' Error:(1, 1) 错误: 需要class, interface或enum报错 问题发生时因为编码问题导致,如 ...

  4. [Vue音乐项目] 第一节 环境搭建

    1.Node安装 登录官网,下载最新版本并安装: 在我的电脑内,执行以下操作:右键->属性->高级->环境变量->系统变量->path 查看是否有node的安装路径,没有 ...

  5. maven 获取pom.xml的依赖---即仓库搜索服务

    常用仓库地址: http://repository.sonatype.org/    (https://repository.sonatype.org/)如下图: http://www.mvnrepo ...

  6. 每日10句:day1

    1,plt.style.use('ggplot') #使用R语言的图像配色方案 2,for a,b in zip(x,y): plt.text(a,b+1,'%.0f'%b,ha='center',v ...

  7. Windows炫酷桌面钢铁侠主题 雨滴 Rainmeter

    首先附上我现在的这个桌面,喜欢的话可以直接使用,我在公众号中设置了回复,[雨滴桌面下载]可以查看下载链接. 介绍一下我们用的工具. Rainmeter 雨滴程序 喜欢的人有研究应该都知道这个程序 这里 ...

  8. Django中间件(Middleware)处理请求

    关注公众号"轻松学编程"了解更多. 1.面向切面编程 切点(钩子) 切点允许我们动态的在原有逻辑中插入一部分代码 在不修改原有代码的情况下,动态注入一部分代码 默认情况,不中断传播 ...

  9. 我叫MongoDb,不懂我的看完我的故事您就入门啦!

    这是mongo基础篇,后续会连续更新4篇 大家好我叫MongoDb,自从07年10月10gen团队把我带到这个世界来,我已经13岁多啦,现在越来越多的小伙伴在拥抱我,我很高兴.我是NoSQL大家族的一 ...

  10. 参悟python元类(又称metaclass)系列实战(一)

    写在前面 之前在看廖雪峰python系列的教程时,对元类的章节一直头大,总在思考我到底适不适合学习python,咋这么难,尤其是ORM的部分,倍受打击:后来从0到1手撸了一套ORM,才稍微进阶了一点理 ...