Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux 使用微信开发者工具并接入持续集成 #62

Open
juzhiyuan opened this issue Jun 26, 2019 · 0 comments
Open

Linux 使用微信开发者工具并接入持续集成 #62

juzhiyuan opened this issue Jun 26, 2019 · 0 comments

Comments

@juzhiyuan
Copy link
Owner

juzhiyuan commented Jun 26, 2019

安装

克隆仓库

$ 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 插件

  1. 安装 Jenkins changelog-environment.hpi 插件
  2. Build Environment 中,选择 Add Changelog Information to Environment
  3. Entry Format 选项框中输入 %3$s 并保存(%3$sgit commit message) ---> $SCM_CHANGELOG

配置 Jenkins

  1. 创建 Job
  2. 构建后执行 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

  1. Settings —> Integrations
    1. URL 在 Jenkins Configure 中可以看到,如 http://dev.com/project/wx
  2. Trigger —> Push events
  3. 在 Jenkins Global Configuration 中,关闭 Enable authentication for ‘/project’ end-point 选项

其它

  1. 在 Jenkins 重复 build 同一个 commit,$SCM_CHANGELOG 为空
@juzhiyuan juzhiyuan changed the title Linux 使用微信开发者工具 Linux 使用微信开发者工具并接入持续集成 Jun 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant