微信小程序CI机器人云构建详解(一)

一、何为CI机器人?

    引用官方的解释,如下

miniprogram-ci 是从微信开发者工具中抽离的关于小程序/小游戏项目代码的编译模块。

开发者可不打开小程序开发者工具,独立使用 miniprogram-ci 进行小程序代码的上传、预览等操作。

二、为何要使用CI机器人实现云构建?

我们常规开发中,小程序的体验版和开发版都是通过微信开发者工具来进行的,发布流程过于依赖本地环境,没有实现服务器发布。那么会带来什么痛点呢?

1.本地环境发布是存在风险的,一旦出现问题很难在第一时间找到替代环境

2.整套流程做在本地,整个项目会变得很重(额外的包 + 发布逻辑),包括一些权限,ip白名单的处理也很麻烦

3.没办法平滑的接入CI流程,多个小程序项目发布很头疼,需要不停切换仓库

这个时候 官方给我们提供了一个CI工具。官方有一句话(开发者可不打开小程序开发者工具,独立使用 miniprogram-ci 进行小程序代码的上传、预览等操作),这意思是我们可以脱离开发工具的摆布了,喜大普奔!!!云构建搞起~

三、CI配置以及使用

1. 第一步重中之中!首先我们先去访问"微信公众平台-开发-开发设置"后下载代码上传密钥(一定要记得保存好!),并配置 IP 白名单 开发者可选择打开 IP 白名单,打开后只有白名单中的 IP 才能调用相关接口。

2.脚本调用

npm install miniprogram-ci --save

3.上传配置(预览配置可参考官方示例)

const ci = require('miniprogram-ci')

;(async () => {

  const project = new ci.Project({

    appid: 'wxb5d3fb79bef4623b',

    type: 'miniProgram',

    projectPath: './',

    privateKeyPath: './wx-ci-private.key',

    ignores: ['node_modules/**/*','$node_modules/**/*'],

  })

  const uploadResult = await ci.upload({

    project,

    version: '1.1.1',

    desc: 'hello',

    setting: {

      es6: true,

    },

    onProgressUpdate: console.log,

  })

  console.log(uploadResult)

})()

我的项目CI配置
官方对于配置各项的解释

特别注意privateKeyPath:之前在微信公众平台下载的代码上传密钥,为了方便展示流程我现在直接放在项目跟目录下,大家注意路径,因为之前也开了IP白名单限制,所以不必担心安全问题。

4.执行 yarn wxci:upload 上传体验版,成功后可以在版本管理看到新上传的版本

如果出现{errCode: -10088,errMsg:invalid ip} 这种错误,记得看下自己的设备的IP有没有被加入白名单。

云服务器运行

回归到目标,我们本身目标是为了解决小程序无法在服务器上构建的问题,既然我们把demo写完,那到底能不能运行就该出来溜溜了~~链接我们的服务器,clone一下仓库: https://e.coding.net/lucky_lucy/test/ci-miniprogram.git,记得运行前修改下privateKey里面的内容,换成自己的密匙,大家可以自己试试。

待续 

到这里为止已经实现在云服务器上进行构建 + 上传,但是也仅仅只是换了个环境,怎么接入CI流程才是真正能够提升生产力的东西,后面我们将详细聊聊如何将小程序云构建如何接入jenkins实现持续集成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容