jenkins构建微信小程序并展示二维码

测试小程序的过程中,很多都是在回头和前端开发说一句,兄弟帮我打一个测试版本的测试码,开发有时间的情况下还好,就直接协助了,但是很多时候他们只修复了其中几个bug,其他需要修复的bug代码正在编写,这就遇到了问题,耽误了测试时间,基于此给大家分享一下利用Jenkins去构建微信小程序二维码,并在jenkins上展示最新的二维码图片方便扫描测试。

操作步骤简介

安装 Jenkins 插件,例如 Jenkins Plugin for WeChat Mini Program Builder(微信小程序构建器插件)。

创建新的 Jenkins Pipeline,或者在现有的 Jenkins Pipeline 中启用 WeChat Mini Program Builder 插件。

配置 Jenkins 构建步骤,添加微信小程序构建相关任务。

测试您的微信小程序。

以下是详细的步骤说明:

1、安装 Jenkins 插件

登录 Jenkins 控制台。

单击 Manage Jenkins -> Manage Plugins -> Available.

搜索 WeChat Mini Program Builder 插件并安装。

2、创建新的 Jenkins Pipeline

单击 New Item,选择 Pipeline。

输入 Pipeline 名称和其他相关信息。

选中 Enable Pipeline 功能框,勾选 Enable Scm Polling 并输入 Git URL。

单击 OK 按钮完成Pipeline 设置。

启用 WeChat Mini Program Builder 插件

单击 Configure System -> Global Tools Configuration.

添加微信小程序构建器插件,输入必要的信息(如 App ID, Secret Key)并保存。

3、添加微信小程序构建器插件到 Jenkins Pipeline 中。

配置 Jenkins 构建步骤

单击 New Item -> Build with Parameters.

添加微信小程序相关的步骤到 Jenkins Pipeline 中,例如微信小程序构建任务、打包任务等。

单击 Save.

4、测试您的微信小程序

在 Jenkins 控制台上单击 Build Now 开始构建。

查看 Console Output ,确认没有错误消息。

在移动设备或微信开发者工具中测试您的小程序。

5、请注意,由于微信小程序有一些限制,请务必遵守相关要求,例如大小、格式等。在微信小程序官方文档中有更多详细信息。

示例

以下是一个 Jenkins Pipeline 的示例,用于构建微信小程序:

  1. pipeline {

  2. agent any

  3. parameters {

  4. string(name: 'APP_ID', defaultValue: '', description: 'Your Wechat Mini Program APP ID')

  5. string(name: 'SECRET_KEY', defaultValue: '', description: 'Your Wechat Mini Program Secret Key')

  6. }

  7. stages {

  8. stage('Checkout') {

  9. steps {

  10. checkout scm

  11. }

  12. }

  13. stage('Build') {

  14. steps {

  15. echo 'Building your WeChat Mini Program...'

  16. script {

  17. node {

  18. sh """

  19. npm install

  20. npm run build

  21. """

  22. }

  23. }

  24. }

  25. }

  26. stage('Deploy') {

  27. steps {

  28. script {

  29. node {

  30. def buildDir = '/var/tmp/build'

  31. dir(buildDir) {

  32. // 将构建目录移动到临时位置

  33. sh 'mv dist/* .'

  34. // 安装 WeChat Mini Program Builder 插件

  35. wechatmp init ${params.APP_ID} ${params.SECRET_KEY}

  36. // 构建微信小程序

  37. wechatmp build

  38. }

  39. }

  40. }

  41. }

  42. }

  43. }

  44. }

在上述 Pipeline 中,首先从 SCM 检出代码,然后构建小程序,并最终构建微信小程序。

注意:您需要设置一些 Jenkins 参数,例如 APP_ID 和 SECRET_KEY。这些参数可以在微信开放平台找到。

此外,在构建时,必须正确安装 WeChat Mini Program Builder 插件,并将其添加到 Jenkins 中。

在构建过程中,可以添加额外的步骤,例如测试、发布等。

展示微信小程序二维码

要在 Jenkins 上展示微信小程序的二维码,请按照以下步骤操作:

使用 Jenkins 插件生成 QR Code,并将其作为 JUnit XML 结果的一部分发送到微信小程序中。

使用 Jenkins 插件解析 JUnit XML 文件,并在微信小程序中显示 QR Code。

以下是详细的步骤说明:

生成 QR Code

安装 QR Code Generator 插件,参见官方文档。

使用该插件生成 QR Code,并将其添加到 JUnit XML 文件中。

解析 JUnit XML 文件

安装 Jenkins 的微信小程序插件,如 Jenkins Xcode Integration。

添加一个 Jenkins 步骤,在构建完成后发送 JUnit XML 文件给微信小程序。

在您的 Jenkins 实例中打开一个二维码,指向 JUnit XML 文件。

在微信小程序中打开此二维码,使其解析 JUnit XML 文件。

请注意,在显示 QR Code 之前,您需要先获取微信小程序的凭证。

Java 代码示例,演示如何在 Jenkins 中生成 QR Code:

  1. import com.google.zxing.BarcodeFormat;

  2. import com.google.zxing.EncodeHintType;

  3. import com.google.zxing.WriterException;

  4. import com.google.zxing.client.j2se.MatrixToImageWriter;

  5. import com.google.zxing.common.BitMatrix;

  6. import com.google.zxing.qrcode.QRCodeWriter;

  7. import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

  8. import javax.imageio.ImageIO;

  9. import java.awt.image.BufferedImage;

  10. import java.io.File;

  11. import java.io.IOException;

  12. import java.nio.file.Files;

  13. import java.nio.file.Path;

  14. import java.nio.file.Paths;

  15. import java.util.HashMap;

  16. import java.util.Map;

  17. public class QrCodeGenerator {

  18. public static void main(String[] args) throws WriterException, IOException {

  19. String content = "Hello, World!";

  20. int width = 300; // 二维码宽度

  21. int height = 300; // 二维码高度

  22. QRCodeWriter qrCodeWriter = new QRCodeWriter();

  23. Map hints = new HashMap<>();

  24. hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);

  25. BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, width, height, hints);

  26. Path file = Paths.get("/tmp/test.png");

  27. MatrixToImageWriter.writeToFile(bitMatrix, "PNG", file.toFile());

  28. System.out.println(file.toString());

  29. }

  30. }

在上述代码中,我们将字符串转换为 QR Code,并将结果保存为 PNG 图片。

在 Jenkins Pipeline 中,您可以使用 Jenkins Pipeline 变量来保存生成的 QR Code 文件路径,并将其作为构建结果的一部分发送给微信小程序。

您可以参考 Jenkins 的微信小程序插件文档以了解更多详细信息。

升级版-Python 

  1. from PIL import Image

  2. from pyqrcode import create as qrcode

  3. def generate_qrcode(image_path):

  4. qr_code_data = 'Hello, World!'

  5. qr_code_image = qrcode.create(qr_code_data)

  6. qr_code_image.save(image_path)

  7. def build_wechat_app():

  8. # 获取参数

  9. APP_ID = input("Enter your APP_ID:")

  10. SECRET_KEY = input("Enter your SECRET_KEY:")

  11. # 清理目录

  12. subprocess.call(['rm', '-rf', 'dist'])

  13. # 构建小程序

  14. subprocess.call(['npm', 'run', 'build'])

  15. # 移动构建目录

  16. subprocess.call(['mv', 'dist', '/var/tmp/build'])

  17. # 初始化微信小程序

  18. subprocess.call(['wechatmp', 'init', APP_ID, SECRET_KEY])

  19. # 生成二维码

  20. generate_qrcode('/tmp/qrcode.png')

  21. if __name__ == '__main__':

  22. build_wechat_app()

在上面的示例中,我们调用 generate_qrcode() 函数,用于生成 QR Code。该函数接受一个图像路径作为参数,并将其保存为 PNG 格式。

注意:为了更好地兼容不同的微信小程序插件,请参阅官方文档以了解如何正确处理图像尺寸和格式。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

健身管理小程序|基于微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)

健身管理小程序目录 基于微信开发健身管理小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 小程序端&#xff1a; 后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码…

策略模式(知识点)——设计模式学习笔记

文章目录 0 概念1 使用场景2 优缺点2.1 优点2.2 缺点 3 实现方式4 和其他模式的区别5 具体例子实现5.1 实现代码 0 概念 定义&#xff1a;定义一个算法族&#xff0c;并分别封装起来。策略让算法的变化独立于它的客户&#xff08;这样就可在不修改上下文代码或其他策略的情况下…

前端三件套学习笔记(持更)

HTML CSS 1、HTML&#xff0c;CSS&#xff0c;JS区别 HTML--结构 CSS--表现 JavaScript--行为 2、HTML5 中新增 1&#xff09;语义化标签 <header>、<main>页面主要内容、<aside>侧边栏、<footer>、<nav>、<article> 加载页面一块…

Redis 缓存预热、预热数据选取策略、缓存保温、性能边界

缓存预热 热点数据预热&#xff1a;根据业务分析或统计数据&#xff0c;确定热点数据&#xff08;经常被访问的数据&#xff09;&#xff0c;并将其提前加载到Redis缓存中。可以根据访问频率、访问量或其他业务指标来确定热点数据。定时预热&#xff1a;可以设置定时任务&…

QT 串口助手 学习制作记录

QT 串口助手qt 学习制作记录 参考教程&#xff1a;​​​​​​QT初体验&#xff1a;手把手带你写一个自己的串口助手_qt设计串口助手的流程图-CSDN博客 Qt之串口编程&#xff08;添加QSerialPort模块&#xff09;_如何安装 qt串口模块教程-CSDN博客 串口调试助手&#xff1…

纯golang开发的mqtt server

Mochi-MQTT Server github地址&#xff1a;https://github.com/mochi-mqtt/server Mochi-MQTT 是一个完全兼容的、可嵌入的高性能 Go MQTT v5&#xff08;以及 v3.1.1&#xff09;中间件/服务器。 Mochi MQTT 是一个完全兼容 MQTT v5 的可嵌入的中间件/服务器&#xff0c;完…

【C语言】每日一题,快速提升(3)!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 题目&#xff1a;杨辉三角 在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1 ……......... 解答&#xff1a; 按照题设的场景&#xff0c;能发现数字规律为&#xff1…

Flink学习(六)-容错处理

前言 Flink 是通过状态快照实现容错处理 一、State Backends 由 Flink 管理的 keyed state 是一种分片的键/值存储&#xff0c;每个 keyed state 的工作副本都保存在负责该键的 taskmanager 本地中。 一种基于 RocksDB 内嵌 key/value 存储将其工作状态保存在磁盘上&#x…

【MogDB】在ORACLE和MogDB中查看存储过程出参游标数据的方式

一、前言 使用ORACLE作为数据库的应用软件中&#xff0c;偶尔会遇到使用游标作为出参的存储过程&#xff0c;这种存储过程迁移到MogDB并不需要进行改造&#xff0c;但是在开发这样的存储过程时&#xff0c;开发人员偶尔会想要在数据库中测试执行一下&#xff0c;看看游标中的数…

项目5-博客系统1(准备工作+博客列表+博客详情页)

1.创建项目 导入以下依赖 2.项目介绍 使⽤SSM框架实现⼀个简单的博客系统 共5个页面 2.1 前端页面展示 2.1.1 用户登录 2.1.2 博客发表页 2.1.3 博客编辑页 2.1.4 博客列表页 2.1.5博客详情页 2.2 功能描述: ⽤⼾登录成功后, 可以查看所有⼈的博客. 点击 <<查看全⽂…

Big Data and Cognitive Computing (IF=3.7) 计算机/大数据/人工智能期刊投稿

Special Issue: Artificial Cognitive Systems for Computer Vision 欢迎计算机/大数据/人工智能/计算机视觉相关工作的投稿&#xff01; 影响因子3.7&#xff0c;截止时间2024年12月31日 投稿咨询&#xff1a;lqyan18fudan.edu.cn 投稿网址&#xff1a;https://www.mdpi.com/j…

2024 计算机毕业设计之SpringBoot+Vue项目合集(源码+L文+PPT)

各位朋友大家好&#xff0c;有幸与屏幕前你们相识&#xff0c;博主现已经搬砖9年&#xff0c;趁着头发还充裕&#xff0c;希望给大家提供一些编程领域的帮助&#xff0c;深知计算机毕业生这个阶段的崩溃与闹心&#xff0c;让我们共同交流进步。 博主给大家列举了项目合集&#…

如何在PPT中获得网页般的互动效果

如何在PPT中获得网页般的互动效果 效果可以看视频 PPT中插入网页有互动效果 当然了&#xff0c;获得网页般的互动效果&#xff0c;最简单的方法就是在 PPT 中插入网页呀。 那么如何插入呢&#xff1f; 接下来为你讲解如何获得&#xff08;此方法在 PowerPoint中行得通&#…

吴恩达llama课程笔记:第七课llama安全工具

羊驼Llama是当前最流行的开源大模型&#xff0c;其卓越的性能和广泛的应用领域使其成为业界瞩目的焦点。作为一款由Meta AI发布的开放且高效的大型基础语言模型&#xff0c;Llama拥有7B、13B和70B&#xff08;700亿&#xff09;三种版本&#xff0c;满足不同场景和需求。 吴恩…

【笔记】探索生成范式:大型语言模型在信息提取中的作用

探索生成范式&#xff1a;大型语言模型在信息提取中的作用 摘要介绍 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴与支持 ~ &#x1f680; 欢迎一起踏上探险之旅&#xff0c;挖掘无限可能&#xff0c;共同成长&am…

基于Qt的二维码生成与识别

基于Qt的二维码生成与识别 一、获取QZxing开源库 1.通过封装的QZxing开源库生成和识别二维码&#xff0c;下载地址&#xff1a;GitCode - 开发者的代码家园https://gitcode.com/mirrors/ftylitak/qzxing/tree/master。 2.下载解压后&#xff0c;使用Qt Creator xx&#xff0…

解决npm run dev跑项目,发现node版本不匹配,怎么跑起来?【已解决】

首先问题点就是我们npm run dev 运行项目的时候发现出错&#xff0c;跑不起来&#xff0c;类型下面这种 这里的出错的原因在于我们的node版本跟项目的版本不匹配 解决办法 我这里的问题是我的版本是node14的&#xff0c;然后项目需要node20的&#xff0c;执行下面的就可以正…

Vue3(二):报错调试,vue3响应式原理、computed和watch,ref,props,接口

一、准备工作调试 跟着张天禹老师看前几集的时候可能会遇到如下问题&#xff1a; 1.下载插件&#xff1a;Vue Language Features (Volar)或者直接下载vue-offical 2.npm run serve时运行时出现错误&#xff1a;Error: vitejs/plugin-vue requires vue (&#xff1e;3.2.13) …