Linux下Jenkins自动化部署SpringBoot应用
Linux下Jenkins自动化部署SpringBoot应用
1、 Jenkins介绍
官方网址:https://www.jenkins.io/
2、安装Jenkins
2.1 centos下命令行安装
访问官方,点击文档:
点击 Installing Jenkins:
点击 Linux:
选择 Red Hat/Alma/Rocky,就可以看到相关的安装命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# 安装安装包
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
# 启动
sudo systemctl daemon-reload
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins
其它版本的安装请参考:https://pkg.jenkins.io/redhat-stable/
# 本文安装
# 下载镜像
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo# 安装
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key# 更新
yum upgrade# 安装 Java 环境
yum install java-11-openjdk# 安装 Jenkins
yum install jenkins# 启动
systemctl daemon-reload
systemctl enable jenkins
systemctl start jenkins
systemctl status jenkins
2.2 错误处理
2.2.1 错误1
如果报错:
$ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2022-11-15 09:38:52-- https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.2.133, 151.101.66.133,
151.101.130.133, ...
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.2.133|:443... connected.
ERROR: cannot verify pkg.jenkins.io's certificate, issued by ‘/C=US/O=Let's
Encrypt/CN=R3’:
Issued certificate has expired.
To connect to pkg.jenkins.io insecurely, use `--no-check-certificate'.
请使用下面的命令:
wget --no-check-certificate -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 或者
yum install -y ca-certificates
2.2.2 错误2
如果报错:
$ yum install jenkins
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.bupt.edu.cn* extras: mirrors.bfsu.edu.cn* updates: mirrors.bfsu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 jenkins.noarch.0.2.414.3-1.1 将被 安装
--> 解决依赖关系完成依赖关系解决=====================================================================================================================Package 架构 版本 源 大小
=====================================================================================================================
正在安装:jenkins noarch 2.414.3-1.1 jenkins 85 M事务概要
=====================================================================================================================
安装 1 软件包总计:85 M
安装大小:85 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/jenkins/packages/jenkins-2.414.3-1.1.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID ef5975ca: NOKEYjenkins-2.414.3-1.1.noarch.rpm 的公钥尚未安装
请使用下面的命令:
$ yum install jenkins --nogpgcheck
2.3 启动状态
# 查看启动状态
# systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration ServerLoaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled)Active: active (running) since 六 2023-10-21 13:16:13 CST; 10s agoMain PID: 5851 (java)Tasks: 53Memory: 1.1GCGroup: /system.slice/jenkins.service└─5851 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war...10月 21 13:15:49 opengauss jenkins[5851]: c251022ca0c2478794f84f67117810d9
10月 21 13:15:49 opengauss jenkins[5851]: This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword
10月 21 13:15:49 opengauss jenkins[5851]: *************************************************************
10月 21 13:15:49 opengauss jenkins[5851]: *************************************************************
10月 21 13:15:49 opengauss jenkins[5851]: *************************************************************
10月 21 13:16:13 opengauss jenkins[5851]: 2023-10-21 05:16:13.192+0000 [id=30] INFO jenkins.In...ation
10月 21 13:16:13 opengauss jenkins[5851]: 2023-10-21 05:16:13.203+0000 [id=23] INFO hudson.lif...nning
10月 21 13:16:13 opengauss systemd[1]: Started Jenkins Continuous Integration Server.
10月 21 13:16:14 opengauss jenkins[5851]: 2023-10-21 05:16:14.399+0000 [id=51] INFO h.m.Downlo...aller
10月 21 13:16:14 opengauss jenkins[5851]: 2023-10-21 05:16:14.399+0000 [id=51] INFO hudson.uti...pt #1
Hint: Some lines were ellipsized, use -l to show in full.
3、访问Jenkins
访问地址:http://192.168.143.175:8080
查看密码并且输入密码:
$ cat /var/lib/jenkins/secrets/initialAdminPassword
c251022ca0c2478794f84f67117810d9
选择安装推荐的插件,Jenkins 便会开始自动下载安装:
下载完之后会自动跳转到下一个页面:
填写信息点击保存并完成:
会跳转到另一个页面:
点击保存并完成:
点击开始使用 Jenkins:
4、插件的安装
使用推荐安装方式只能帮我们安装一部分最为常用的插件,有某些插件如 maven 等还是需要我们手动去安装的。
点击 “Manage Jenkins” --> “插件管理”:
在这里可以看到我们需要的插件,按需下载即可。
5、卸载Jenkins
# rpm卸载Jenkins
rpm -e jenkins# 检查是否卸载成功
rpm -ql jenkins# 彻底删除残留文件
find / -iname jenkins | xargs -n 1000 rm -rf
6、Jenkins全局配置
需要配置的有 jdk、git、maven 工具。
6.1 JDK安装
# 下载地址
# http://www.oracle.com/technetwork/java/javase/downloads/index.html
# 使用的版本
# jdk-8u212-linux-x64.tar.gz# 1、解压
$ tar -zxvf jdk-8u212-linux-x64.tar.gz# 2、重命名
$ mv jdk1.8.0_212 jdk1.8# 3、添加环境变量
$ vim /etc/profile
export JAVA_HOME=/home/zhangshixing/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH# 4、生效
$ source /etc/profile # 5、查看版本
$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)# 6、查看路径
$ which java
/home/zhangshixing/java/jdk1.8/bin/java
6.2 git安装
# 使用yum安装
$ yum -y install git
$ git --version
# 使用安装包安装:
# 1、下载安装包
# https://mirrors.edge.kernel.org/pub/software/scm/git/
wget -O git-2.22.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.20.0.tar.gz# 2、解压安装包
$ tar -zxvf git-2.22.0.tar.gz# 3、进入解压后的文件夹
$ cd git-2.22.0# 4、安装需要的依赖
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker# 5、在安装编译源码所需依赖的时候,yum会自动帮你安装git,这时候你需要先卸载这个旧版的git
$ yum -y remove git# 6、编译git源码
$ make prefix=/usr/local/git all# 7、安装git至/usr/local/git路径
$ make prefix=/usr/local/git install# 8、配置环境变量
$ vim /etc/profile
$ export PATH=$PATH:/usr/local/git/bin# 9、使配置文件生效
$ source /etc/profile# 10、查看git是版本
$ git --version
git version 2.22.0# 11、查看路径
$ which git
/usr/local/git/bin/git
6.3 Maven安装
# 下载地址
# https://dlcdn.apache.org/maven/maven-3
# 使用的版本
# apache-maven-3.3.9-bin.tar.gz# 1、解压
$ tar -zxvf apache-maven-3.3.9-bin.tar.gz# 2、创建maven资源库目录
$ mkdir -p /home/zhangshixing/maven/m2/repository# 3、编辑settings.xml文件
$ cd /home/zhangshixing/maven/apache-maven-3.3.9/conf
$ vim settings.xml
# 将原文件内容全部删除,添加新的配置内容
$ :1,.d# 4、新的配置内容
<?xml version="1.0" encoding="UTF-8"?>
<settingsxmlns="http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><localRepository>/home/zhangshixing/maven/m2/repository</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors><profiles></profiles>
</settings># 5、添加环境变量
$ vim /etc/profile
MAVEN_HOME=/home/zhangshixing/maven/apache-maven-3.3.9
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH# 6、重新加载配置文件
$ source /etc/profile# 7、查看版本
$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /home/zhangshixing/maven/apache-maven-3.3.9
Java version: 1.8.0_212, vendor: Oracle Corporation
Java home: /home/zhangshixing/java/jdk1.8/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"# 8、查看路径
$ which mvn
/home/zhangshixing/maven/apache-maven-3.3.9/bin/mvn
6.4 进行配置
点击 “Manage Jenkins” --> “Tools”:
全部配置完成之后,点击保存、点击应用。
7、新建git仓库并上传代码
8、任务的创建与执行
登入 Jenkins,点击 “新建 Item”,输入任务名称并选择构建一个多配置项目;
点击确定,之后我们作出如下配置:
点击保存:
返回面板,点击按钮执行此任务:
执行结果:
一个简单的自动化部署应用就完成了。
9、Jenkins通过脚本的方式运行mvn命令不识别的处理方式
如果我们进行如下的配置:
则会报如下的错误:
/tmp/jenkins8798212945672749251.sh:行1: mvn: 未找到命令
解决方法:把 maven 的 mvn 弄个快捷方式到sbin下就可以解决:
ln -s $MAVEN_HOME/bin/mvn /usr/sbin/mvn
10、配置git凭据
修改 Git 配置:
点击添加:
输入相关信息并且点击添加:
重新选择:
保存然后重新运行。
11、配置应用服务器信息
应用服务器,就是将来 Jenkins 将代码构建成 jar 包后,要上传的服务器的信息(地址、用户名以及密码)。
首先安装 Publish Over SSH 插件:
然后进行配置:
Publish Over SSH各个参数介绍
-
Passphrase
:使用用户名、密码 SSH 登录时,这里输入用户名密码。使用私钥登录时,这里是私钥的密码。
-
Path to key
:要使用的 SSH 私钥在Jenkins主机上的路径。路径可以是绝对路径,也可以是相对于JENKINS_HOME
目录的路径。 -
Key
:私钥 -
Disable exec
:移除该插件执行命令的能力。如果选中该选项,则SSH Servers
的高级部分中的Disable exec
选项将被忽略。 -
Name
:名称。 -
Hostname
:服务器 IP。 -
Username
:登录服务器用户名。 -
Remote Directory
:登录服务器后的根目录,后面 Jenkins默认发送制品到此目录下。
用户名密码方式:
密钥方式:
# 在目标服务器上执行,也就是需要上传目录的服务器
# 生成rsa密钥,回车
$ ssh-keygen -t rsa# 把公钥内容追加到认证文件中
$ cat id_rsa.pub >> authorized_keys# 授权
chmod 700 /root/.ssh
chmod 700 /root/.ssh/id_rsa
chmod 700 /root/.ssh/id_rsa.pub
chmod 600 authorized_keys$ vim /etc/ssh/sshd_config
PemitRootLogin yes# 重启
$ service sshd restart
点击保存。
在项目中进行配置打包好的文件进行上传:
# 目标服务器上执行
$ pwd
/opt/data$ ls
jenkins_demo-0.0.1-SNAPSHOT.jar
我们可以在上传完安装包之后执行一个部署脚本:
# /opt/data/deploy.sh#!/bin/bashexport JAVA_HOME=/home/zhangshixing/java/jdk1.8
export PATH=$JAVA_HOME/bin:$PATHJAR_PATH=/opt/data
JARFILE=jenkins_demo-0.0.1-SNAPSHOT.jarcd $JAR_PATHps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9java -jar $JARFILE > out.log &if [ $? = 0 ];thensleep 30tail -n 50 out.log
fi
修改项目中的执行命令:
重新运行,然后访问,看安装包是否启动:
$ curl -X GET http://192.168.143.175:9999/hello
Hello World!
$ pwd
/opt/data$ ls
deploy.sh jenkins_demo-0.0.1-SNAPSHOT.jar out.log
我们可以看到程序正常启动,并且可以正常访问。
12、自动构建
好了,现在我们的项目还不是自动构建,也就是当我们向 Gitee 上的代码仓库提交代码之后,并不会触发 Jenkins
的自动构建,得我们手动点击构建按钮,接下来我们再来继续配置,实现自动触发构建。
为了实现自动触发构建,我们需要修改两个地方。
12.1 安装Gitee插件
12.2 修改Jenkins
首先在 Jenkins 的当前项目中,配置一下触发构建的规则:
大家注意,在网页上 Jenkins 已经给出了将来要配置的 Webhook 的地址了,大家直接拷贝该地址即可。
# webhook地址
http://192.168.143.175:8080/gitee-project/first%20jenkins# webhook密码
373930de602b51fad08a301b2aca8ab2
12.3 配置Webhook
接下来在 Gitee 的项目中,配置 WebHook,在当前项目中,选择管理选项卡,左边菜单点击 WebHooks,然后
点击添加 WebHook。
我们这里的 192.168.143.175 不是公网IP,所以gitee上配置会有问题,这里只演示配置方式。
配置之后我们可以点击测试看是否配置成功。
12.4 修改代码push代码
push代码之后就会触发Jenkins自动打包部署。
相关文章:

Linux下Jenkins自动化部署SpringBoot应用
Linux下Jenkins自动化部署SpringBoot应用 1、 Jenkins介绍 官方网址:https://www.jenkins.io/ 2、安装Jenkins 2.1 centos下命令行安装 访问官方,点击文档: 点击 Installing Jenkins: 点击 Linux: 选择 Red Hat/…...
【git 学习】--- ubuntu18.04 搭建本地git服务器
在Ubuntu18.04 上简单创建自己的git服务器~ 环境配置 Ubuntu: 18.04git服务器搭建步骤: ##1.安装git sudo apt-get install git##2.添加用户 sudo adduser test_git //test_git -- git用户名##3. 在Git用户的home目录下创建文件夹,作为裸仓库 sudo…...

JAVA电商平台免费搭建 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城
涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis …...
Android 13 Framework 裁剪
裁剪应用 1. 修改 build/core/product.mk 添加PRODUCT_DEL_PACKAGES变量的声明 新增一行_product_single_value_vars PRODUCT_DEL_PACKAGES # The first API level this product shipped with _product_single_value_vars PRODUCT_SHIPPING_API_LEVEL _product_single_val…...
【Axios封装示例Vue2】
文章目录 为什么要封装axios?如何封装axios在Vue组件中使用封装的axios 为什么要封装axios? 在Vue 2项目中,直接在组件中使用axios可能会导致以下问题: 代码重复:每个组件都需要导入axios并编写相似的请求代码&#…...
k8s-----20、持久化存储--PV/PVC
PV/PVC 1、概念1.1 基本定义1.2 生命周期1.3 PV 卷阶段状态 2、 示例2.1 创建pod和PVC 与PV2.2 绑定PV2.3 强制删除pv,pvc2.4 测试 1、概念 1.1 基本定义 PersistentVolume(PV)是集群中由管理员配置的一段网络存储。 它是集群中的资源,就像…...
python matplotlib 生成矢量图
import matplotlib.pyplot as plt plt.savefig(r"xxx.svg", format"svg")注意: plt.savefig(r"xxx.svg", format"svg") 需要放在 plt.show()前面 原因:如果在 plt.show()调用后, 实际上已经创建了一…...

机器学习中常见的特征工程处理
一、特征工程 特征工程(Feature Engineering)对特征进行进一步分析,并对数据进行处理。 常见的特征工程包括:异常值处理、缺失值处理、数据分桶、特征处理、特征构造、特征筛选及降维等。 1、异常值处理 具体实现 from scipy.s…...

Spring IOC 和 AOP
核心概念 咱们这节就讲完了,在这节中我们讲了两个大概念,一个叫做IOC,一个叫做DI IOC是什么?是用对象的时候不要自己用new而是由外部提供,而spring在进行实现的时候是谁提供,就是IOC容器给你提供。 DI是什…...

echarts插件-liquidFill(水球图)
echarts插件-liquidFill(水球图) 1.下载2.引入:3.使用 1.下载 echarts.js下载:https://cdnjs.com/libraries/echarts echarts-liquidfill.js下载:https://github.com/ecomfe/echarts-liquidfill 2.引入: …...
c++ vscode cmake debug for mac
1. 下载vscode 2. 安装c插件 参考:C programming with Visual Studio Code 3. 安装llvm,可以使用brew安装 4. 配置llvm到系统环境变量中 5. 编写c代码 6. 编写CMakeLists.txt文件(前提安装cmake) cmake_minimum_required(V…...

17 结构型模式-享元模式
1 享元模式介绍 2 享元模式原理 3 享元模式实现 抽象享元类可以是一个接口也可以是一个抽象类,作为所有享元类的公共父类, 主要作用是提高系统的可扩展性. //* 抽象享元类 public abstract class Flyweight {public abstract void operation(String extrinsicState); }具体享…...
创建Secret(手动)
和创建其他类型的 API 对象(Pod、Deployment、StatefulSet、ConfigMap 等)一样,您也可以先在 yaml 文件中定义好 Secret,然后通过 kubectl apply -f 命令创建。此时,您可以通过如下两种方式在 yaml 文件中定义 Secret&…...

基于PHP的线上购物商城,MySQL数据库,PHPstudy,原生PHP,前台用户+后台管理,完美运行,有一万五千字论文。
目录 演示视频 基本介绍 论文截图 功能结构 系统截图 演示视频 基本介绍 基于PHP的线上购物商城,MySQL数据库,PHPstudy,原生PHP,前台用户后台管理,完美运行,有一万五千字论文。 现如今,购物网站是商业…...
Lua 事件触发机制(注册,触发)
日常工作中经常会用到触发机制,这里就提供一个注册触发机制,在代码中在也不用专门去调用各个模块的接口;只需要触发即可,触发后会自动调用接口 直接上代码 local _EventHandle {}; _EventHandle.listenerHandleIndex 0 _EventH…...
c++ 并发与多线程(12)线程安全的单例模式-1
一、什么是线程安全 在拥有共享数据的多条数据并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。 二、如何保证线程安全 法1、给共享的资源加把锁,保证每个资源变量每时每刻至多被一个线程占用; 法2、让线…...
Python学习笔记--迭代
一、迭代 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历这个 list 或 tuple ,这种遍历就是迭代。…...

idea免费插件分享
分享一些在开发中常用到的idea插件,都是一些我自己常用的,希望对各位程序员有帮助吧。 1、Chinese Language 汉化插件:中文语言包将为您的 IntelliJ IDEA, AppCode, CLion, DataGrip, GoLand, PyCharm, PhpStorm, RubyMine, WebStorm, 和Rid…...

Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况
对于这个API,我最开始的预想是从 猫1猫2猫3猫4狗1狗2狗3狗4 中分割出 猫1猫2狗4狗1 和 猫4猫3狗2狗3 ,但是打印结果和我预想的不一样 数据集文件的存放路径如下图 测试代码如下 import torch import torchvisiontransform torchvision.transforms.Compose([torchvision.tran…...

每日一练 | 华为认证真题练习Day122
1、路由器所有的接口属于同一个广播域。 A. 对 B. 错 2、下列配置默认路由的命令中,正确的是()。 A. [Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 B. [Huawei-Serial0]ip route-static 0.0.0.0 0.0.0.0 0.0.0.0 C. [Huawei]ip…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...