专栏首页TLingC's Zone使用Coding持续集成部署微信小程序

抱歉,你查看的文章已删除

使用Coding持续集成部署微信小程序

微信发布了独立的 miniprogram-ci 小程序编译模块,可以通过node脚本或者命令行直接操作代码上传及预览,而不再需要使用完整的微信开发者工具。

这篇文章讲述如何使用 Coding 的持续集成上传小程序代码,同时也兼容Jenkins或者基于Jenkins的持续集成系统。

首先到小程序后台,开发开发设置小程序代码上传获取密钥,由于 Coding 的构建节点出口IP一般不固定,因此需要关闭“IP白名单”。

获取到密钥后,到 Coding 的项目设置开发者选项凭据管理凭据类型选择SSH私钥,然后填入刚刚下载的密钥(记事本打开)。

新增构建计划。由于我们仅需要实现代码上传,因此使用命令行模式。Jenkinsfile编写比较简单,直接贴出代码。

pipeline {
  agent any
  stages {
    stage('检出') {
      steps {
        checkout([
          $class: 'GitSCM', 
          branches: [[name: env.GIT_BUILD_REF]], 
          userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]])
      }
    }
    stage('安装依赖') {
      steps {
        sh 'npm install -g miniprogram-ci'
      }
    }
    stage('部署') {
      steps {
        withCredentials([sshUserPrivateKey(credentialsId: env.PRIVATE_KEY, keyFileVariable: 'PRIVATE_KEY_PATH')]) {
          sh '''miniprogram-ci upload \
                    --pp ./ \
                    --pkp ${PRIVATE_KEY_PATH} \
                    --appid ${APP_ID} \
                    --uv ${CI_BUILD_NUMBER} \
                    -r 1 \
                    --enable-es6 true \
                    --enable-es7 true \
                    --enable-minifyJS true \
                    --enable-minifyWXSS true \
                    --enable-autoPrefixWXSS true'''
        }
      }
    }
  }
}

-r 1后的参数可以根据项目实际情况填写,参数说明在包的 readme 中有,也可以参照下图。

另外,如果开启了minifyWXML,对于wxml的语法规则会比使用微信开发者工具上传时更加严格,例如wxml中<input />写成了<input></input>,在部署时会直接报错。

20002 ‘Error: {“errCode”:-1,”errMsg”:”inner upload fail with errcode: -80054, errmsg: ./pages/auth/login.wxml:15:3: expect end-tag input., near view“}’ (node:4362) UnhandledPromiseRejectionWarning: Error: Error: {“errCode”:-1,”errMsg”:”inner upload fail with errcode: -80054, errmsg: ./pages/auth/login.wxml:15:3: expect end-tag input., near view“} at Object.upload (/usr/lib/node_modules/miniprogram-ci/dist/upload/upload.js:1:3214) at process._tickCallback (internal/process/next_tick.js:68:7)

填写完Jenkinsfile后,添加一个环境变量APP_ID,值为小程序的appid,然后完成其它配置。

执行构建任务,提示done: upload且没有报错即完成,在后台“版本管理”将可以看到刚刚提交上来的代码。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android Studio Gradle问题集合

    1.开发环境:android studio,项目gradle文件添加ndk代码后配置构建出现问题 externalNativeBuild{ ndkBui...

    用户1148881
  • java使用telnet连接交换机并管理交换机

    像crt或者ssh、甚至是cmd命令中使用window的telnet命令连接交换机。都可以起到控制交换机的作用。 teln...

    业余草
  • Gradle学习笔记-安装

    这里只是记录自己在Windows下的安装经过,其他系统下的安装请查看官方或谷歌,这里不再赘述。

    WindCoder
  • 2016欧洲设计奖揭晓,信息图表获奖作品盘点

    大数据文摘
  • Java开发的效率工具--Lombok

    Project Lombok is a java library that automatically plugs into your editor and b...

    框架师
  • Lombok

    定位到file/setings/plugins/markeptlace搜索Lombok

    框架师
  • .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决

    说真心话,Eclipse跟我们.net的VS比起来就是屌丝比高富帅,一切都是那么的难用,速度慢得我无法忍受 于是想试试Google钦点的Android Stud...

    用户1149182

扫码关注云+社区

领取腾讯云代金券