目前,微信小程序开发工具只支持mac和windows因此,jenkinslave只能使用这两个系统,以windows为例。建筑批处理仅作为功能实现,添加更多的判断逻辑。
微信工具提供两种方式:客户端和HTTP服务c;以http为例。
“JNLP代理协议TCP端口” 配置成 “”随机选择c;“”代理协议c;勾选“Java Web Start Agent Protocol/4(TLS加密)。由于阿里云的端口限制,我在这里选择了固定端口c;只放开指定的端口。
找到“隐藏的安全警告”,将“Enable Agent → Master Access Control复选框打勾。
点击launch按钮下载slave-agent.jnlp文件,点击slave.jar下载jar包,并复制到slave机器的jenkins目录。
运行slave-agent.jnlp。
win快捷键#43;输入servicesesser.msc,找到jenkins-agent修改配置。
我在这里使用管理员账户,上述本地系统账户也可以使用c;但请记住勾选允许服务与桌面互动的服务。
想要运行slave,windows节点需要安装java,其他一些工具将用于构建链接如git、curl直接下载安装,记得设置相应的环境变量。
环境变量配置在slave节点配置中c;可以直接复制windows机器的path环境变量。
这里补充path变量"C:\Windows\Syswow64;",否则,一些内置命令将无法调用。
安装微信开发者工具然后设置计划任务自动运行提供http服务。
名称:mp_ide。
触发器:计算机启动时。
操作:启动程序。
如果不重启记得手动启动一次。
description setter plugin。
Git Parameter Plug-In。
[外链图片转存中...(img-VlJRhpcF-1737277559676)]。
:: 获取服务端口set /p PORT=<"C:\Users\test-ops\AppData\Local微信开发者工具User Data\Default\.ide"echo "微信开发者工具运行%PORT%端口":: 获取状态码判断服务是否成功启动 -sL -w %%{ http_code} http://127.0.0.1:%PORT%/open:: 登录二维码curlll http://127.0.0.1:%PORT%/login?format=base64 > qrcode.txtpython "D:\jenkinsbase64tojepg.py" qrcode.txt qrcode.jpgecho [QRCode generated succeed]%BUILD_NUMBER%。
python脚本:base64tojepgepgpgpgtojep.py。
import os,base64,sys if len(sys.argv) == 3: inputFileName=sys.argv[1] outputFileName=sys.argv[2] allstr=open(inputFileName).read() idx=allstr.find(',') bstr=allstr[idx+1:] imgdata=base64.b64decode(bstr) file=open(outputFileName,'wb') file.write(imgdata) file.close()else: print('Useage: python base64tojpeg.py inputFileName outputFileName')。
第一次添加 build description用于显示登录二维码。
Regular expression。
\[QRCode generated succeed\](.*)。
Description。
第二次增加批处理。
:: 延迟15秒,#xff00c;等待扫码登录#xff0c;否则,代码无法上传@ping 127.0.0.1 -n 15 >nul:: 获取服务端口set /p PORT=<"C:\Users\test-ops\AppData\Local微信开发者工具User Data\Default\.ide"echo "微信开发者工具运行%PORT%端口":: 获取预览二维码del /f /s /q qrcode.txt qrcode.jpgcurl -o preview.jpg http://127.0.0.1:%PORT%/preview?projectpath=%WORKSPACE�ho [QRCode preview generated succeed]%BUILD_NUMBER%:: 上传代码for /f "delims=" %%i in ('python D:\jenkins\urlencode.py %upload_desc%') do set desc=%%icurl "http://127.0.0.1:%PORT%/upload?projectpath=D:\mp&version=%upload_version%&desc=�sc%"echo "#xff01上传成功;请在微信小程序后台设置体验版或提交审核!"
python脚本:urlencode.py。
第二次添加 build description用于显示开发预览二维码。
Regular expression。
\[QRCode preview generated succeed\](.*)。
Description。
执行构建。
在施工过程中c;二维码可以直接显示。
这是用来登录小程序开发工具的,不登录就不能上传代码。