安装
克隆仓库
$ git clone https://github.com/shynome/wechat_web_devtools.git
构建镜像
$ docker build -t shynome/wxdt .
# 注意
1. 若构建过程中、下载开发者工具缓慢,可以将最新版开发者工具下载到本地或者使用下面的链接
http://staticfile.shaoyaoju.org/wechat_web_devtools-6de256c091544207a3d9c51556860971d9db87d1.tar.gz
启动镜像
$ docker run -d --name wxdt -p 6080:80 -v $PWD:PROJECTS_FOLDER_PATH shynome/wxdt
# 例如
$ docker run -d --name wxdt -p 6080:80 -v $PWD:/projects shynome/wxdt
# 注意
1. $PWD 为当前执行命令的路径,建议选择为目标项目所在目录
启动 IDE
# 进入容器内
$ docker exec -it wxdt /bin/bash
# 启动 IDE
$ cli -o
# 返回宿主机
$ exit
使用微信开发者工具
登录
$ docker exec -it wxdt cli -l
预览项目
docker exec -it wxdt cli -p /projects/XXXX
# 注意
1. -p 后为小程序目录(包含 project.config.json 的目录),且该路径是相对容器的,不是宿主机。
上传
$ docker exec -it wxdt cli -u 版本号 @项目路径 --upload-desc '注释'
# 注意
1. 项目路径是相对容器的,非宿主机。
2. 注释不能包含空格,否则空格后内容将被微信开发者工具过滤掉。可用下划线等符号代替空格。
3. 若使用 Jenkins 做持续集成,那么在 SHELL 中应当去掉 -t 参数。
关闭
$ docker exec -it wxdt cli --quit
安装 Jenkins 插件
- 安装 Jenkins changelog-environment.hpi 插件
- 在
Build Environment
中,选择 Add Changelog Information to Environment
- 在
Entry Format
选项框中输入 %3$s
并保存(%3$s
为 git commit message
) ---> $SCM_CHANGELOG
配置 Jenkins
- 创建 Job
- 构建后执行 SHELL
#!/bin/bash
# 从 package.json 中读取版本
$ CURRENT_VERSION=$(node -p "require('./package.json').version")
# 由于微信开发者工具限制,版本描述若带有空格,那空格后的内容将被截取,在此替换空格为下划线
# SCM_CHANGELOG 为 Jenkins changelog-environment.hpi 插件提供的变量:读取最新 commit message
$ COMMIT_MSG=${SCM_CHANGELOG// /_}
$ docker exec -i wxdt cli -u $CURRENT_VERSION@相对于容器中的项目路径 --upload-desc $COMMIT_MSG
配置 GitLab
Settings
—> Integrations
- URL 在 Jenkins Configure 中可以看到,如
http://dev.com/project/wx
Trigger
—> Push events
- 在 Jenkins
Global Configuration
中,关闭 Enable authentication for ‘/project ’ end-point
选项
其它
- 在 Jenkins 重复 build 同一个 commit,
$SCM_CHANGELOG
为空