微信小程序开发微信小程序dev&ops微信小程序

微信小程序从开发到上线

2018-06-07  本文已影响47人  monkey01

前言

最近个人开发的小程序要上线了,这里写篇汇总了下从开发到上线的流程和一些注意点,笔者前后台一共花了大概4,5天时间完成开发,但是最后上线时间却delay了一周,文中会介绍为啥delay了那么长时间,也给其它朋友一些经验。

注册开发者帐号

要从事微信小程序开发,第一步当然是注册为小程序开发者,还没注册的同学请通过微信公众平台进行注册,具体注册和实名流程这里就不详细介绍了,非常简单,照着流程做就可以了。

注册好了需要新建一个小程序,跟着guide做就好了,会让你设置小程序名称、图标、分类、描述等等信息,在新建完成后可以看到会生成appid和app secrect,appid在后续登录ide和在开发的工程中都会用到,appsecrect暂时用不到。
运行


Screenshot 2018-05-01 19.14.54

这里需要提醒下,对于小程序的一些基本信息修改的次数是有限的,例如:

1)小程序名称在发布前只能修改两次,每次修改都需要等待1-2个工作日de审核,小程序的名称是不能和其他人重复,如果想要已经被抢注的名称,那就只能和之前抢注的人协商了;

2)小程序的头像每个月可以修改5次,小程序头像的修改次数还是比较多的,而且大家一般也不会没事修改头像;

3)服务类别、介绍等也是每个月限制了修改次数,每个月可以修改5次。

注:这里介绍的都是个人开发者的一些流程,对于企业开发者流程会复杂一些,企业的实名过程需要上传证照等信息。

下载IDE开发

腾讯官方提供了微信小程序、小游戏开发的IDE工具,这个工具整体使用起来还算比较方便,基本功能也是比较全的,从开发到调试到测试基本都涵盖了,不过对于有经验的前端开发者还是擅长使用webstorm或者sublime加插件的方式开发。微信IDE可以比较方便的和腾讯云集成,不过因为我的服务器不是腾讯云所以没有尝试相关功能。


Screenshot 2018-06-07 10.42.48

微信小程序IDE下载地址

申请域名、配置https

以前开发

Screenshot 2018-05-01 19.23.01

因为小程序要求必须是在ICP备案过的域名,这就要求大家必须到ICP进行备案,常见的有以下几种情况:
1)如果是国内几大空间服务商的用户会比较方便,通管局都授权了这些网站可以不用面签并且不用专用幕布拍照就可以在线申请备案,一般只要用当地的备案app手持身份证拍照并上传相关证件信息就可以了,一般云服务商会先进行简单的初审并提出一些修改意见,一般来说这个过程1天就能搞定。


Screenshot 2018-05-04 08.42.38

2)如果服务器是自己的或者买的境外的云资源,那就会麻烦点,如果域名是通管局认可的例如.cn.com.gov.me.club之类的一般去通管局网站按照流程申请就可以了,但是如果是一些国外域名公司申请的一些比较诡异的域名可能无法申请通过,这样的话只能换域名了。自行申请的话流程会比较复杂一些,建议按照官网流程来实施。
3)因为各省的通管局都是独立运作,各省也是各家服务层次不齐,所以建议还是通过国内几大云服务商进行代理备案会方便很多,但是各家代理备案都是要买入它们的云资源的,不然无法进行代理备案。

在备案这个环节我就折腾了比较长的时间,笔者原先的域名是在境外域名服务商那申请的,服务器也是境外的,所以以前做的一些blog或者网站域名都没经过备案,这次小程序必须要ICP备案,以为只是上传一些证件信息就可以了,还是too young too simple 谁知道直接找通管局申请是这么麻烦,首先在上海的通管局官网上愣是没找到申请入口,其它省的通管局不清楚,后来网上查了下流程比较麻烦,还要去当地通管局现场拍照什么的,算了还是为了小程序找个国内的云资源吧,找了台阿里云的资源,登录阿里云的代理备案但是发现我在国外申请的域名没办法国内实名。。。,没办法那就只能申请个国内便宜的域名去申请备案了,在阿里云买了个很便宜的.club域名然后就照着流程走,很快3天就全部搞完。
我的惨痛经验告诉大家,如果要快速上架小程序,最好是国内申请的域名+国内的云资源。

申请好域名后就简单多了,只要服务器提供的服务是https就可以设置到小程序的访问url白名单里。一般来说公司都会使用verisign或者其它一些大的CA证书服务商提供的域名,但是这里因为是个人小程序为了成本考虑,那几只能使用免费的了,简单通过openssl的自定义ssl证书微信是不认可的没法加入白名单,这里推荐大家使用https全球公益组织提供的免费的SSL证书-let's encrypt https://github.com/letsencrypt/letsencrypt, let's encrypt最大的问题就是每次申请的效期只有3个月,到期后需要自己续期,网上很多人写了自动续期脚本可以参考,其实也比较简单,因为还没到3个月所以懒癌发作还没来得及写自动续期脚本,这里先列下手工生成SSL证书的步骤。

//首先下载letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
//下载下来后cd到letsencrypt的根目录执行安装
./letsencrypt-auto

安装成功后会提示

完毕!
Creating virtual environment...
Installing Python packages...
Installation succeeded.

下面就开始生产证书

./letsencrypt-auto certonly --standalone --email monkey01@XXX.com -d www.monkey01.club

这里有几个参数各位要自行修改,一个是email地址,一个是-d参数后的证书对应的域名,域名一定不要弄错了,弄错了后面小程序发起请求的时候会校验不过,不要问我为什么知道。

生成成功后会有一大段提示,大概的意思就是祝贺你生成成功了,默认会把4把秘钥放到/etc/letsencrypt/live/www.monkey01.club 这个目录下,会为每个域名生成一个目录。因为letsencrypt生成的证书是pem格式的,目前很多web服务器需要的都是jks或者p12,所以我们还需要进行一个格式转换,这里个是转换可以直接使用openssl,我的服务端是springboot写的服务器用的是tomcat所以直接生成p12就可以了,下面我先说下pem转p12的命令:

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out mk_letsencrypt.p12 -name tomcat_letsencrypt

这里也有几个参数要改下,fullchain.pem和privkey.pem是之前用letsencrypt。

证书生成之后只要配置到服务端应用服务器中就可以对外提供https服务访问了。

发布体验版

前端开发完成,服务端开发部署完并配置https证书后,就可以进行体验版发布了,这里的体验版发布阶段有点类似于我们日常的灰度发布前的内部灰度测试,可以指定白名单用户进行生产测试体验。发布的动作其实很简单,就是在微信的开发IDE中上面工具栏上点击上传按钮即可发布到微信服务器,提交后就可以在mp管理端查看到新的开发版本,可以发布二维码白名单用户扫码后进行体验。


Screenshot 2018-06-07 10.48.51

上线审核

体验版本验证没问题后就可以发布,点击开发版本右边的提交审核按钮就可以发布到腾讯进行小程序审核,第一次发布审核时间会比较长,大约3-5个工作日左右,日后的升级版本审核就很快了,基本上可以做到半天就审核通过。


Screenshot 2018-06-07 11.00.351

上线

审核通过后就会出现在审核版本的栏位,点击右边的发布即可,对于即将发布的小程序也可以选择是按比例灰度发布或者是全量发布,对于用户量不大的小程序直接全量发布就可以了,对于用户量比较大的小程序建议还是先按比例灰度发布,发布后监控一段后台服务情况,如果发现问题可以紧急回退版本,小程序mp管理端也提供了前端版本回退的功能。
总体来说小程序在版本管理、发布回退的体验方面做得还是很好的,能够满足基本需求,不需要额外的开发。


Screenshot 2018-06-07 10.59.07

总结

本文介绍了小程序从开发到上线的一个全流程,希望对大家有一定的帮助。

上一篇 下一篇

猜你喜欢

热点阅读