2020 更新
微信出了 miniprogram-ci ,可以通过命令行调用,故而改用改方案, 见 [GitLab-CI微信小程序进行持续集成和持续部署2]
问题缘由
在微信小程序开发中,先要在本地使用微信开发者工具进行调试,如果需要在线测试,则需要将编译好的代码上传。
目前,只能通过微信开发者工具手动点击上传,而该过程无法与持续集成/持续部署结合在一起,本文就是为了解决能够实现自动化和持续部署的难题
实现原理
微信开发者工具,提供了HTTP调用方式,其中就包括上传和自动化测试的命令,我们可以通过脚本实现自动化集成
步骤
安装并配置 GitLab Runner
这部分文档在 Install GitLab Runner on macOS
安装
首先需要在本机上安装 GitLab Runner, 由于微信开发者工具只提供了 mac 和 windows 版本,所以目前只能在这两种系统上实现持续集成,本文讲述在 mac 的具体实现, windows 上的实现与此类似,只是相关命令和路径需要做些变更
注册 GitLab Runner
1 | gitlab-runner register |
注意,注册时没有sudo
, 因为需要使用用户模式来使用,而非系统模式
注册时,将本机添加上了 mac
标签, 运行模式为shell
,这样可以在部署时,指定运行环境
1 | Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): |
运行服务
1 | cd ~ |
编写 .gitlab-ci.yml
在此之前,你需要对GitLab-CI有一定的掌握,这部分资料参考下方的相关文档
1 | image: node:alpine |
注意,deploy/project.config.json
文件为 project.config.json
的副本,但其他的 projectname
不同,这样做是为了解决 已存在相同 AppID 和 projectname 的项目(路径),请修改后重试
的问题,这是因为,同一台电脑上,微信开发者工具不能有两个同名的项目
另外注意,在运行自动部署时,微信开发者工具必须打开,且为登录状态