如果你正在找一篇能把 Jenkins 从零到一跑通、并且能直接用在日常集成部署场景的教程那这篇应该是你要的。标题里写着“集成部署”但真正做过的人都知道Jenkins 的价值从来不只是“装一个工具”而是把代码提交、自动构建、自动化测试、服务器发布、版本回滚这一整条链路串起来。这篇文章会从安装方式选型开始覆盖 Java、Python、前后端分离项目的实际构建部署流程再把环境变量、插件镜像、Allure 报告、常见报错这些细节全部拆开讲适合刚接手持续集成的新手也能给已经在用 Jenkins 但想优化流程的同学一些参考。1. 先搞清楚Jenkins集成部署到底在解决什么问题1.1 一个典型场景你在公司负责一个 Java 后端项目每次上线之前都要手动执行一遍拉代码、切分支、mvn package、把 jar 传到服务器、杀掉旧进程、启动新进程。一个人操作倒还行但如果是三个人同时提交代码时间一长就会出现“你说的版本和我本地不一致”“线上跑的是哪个包根本分不清”这类问题。手动部署还有一个天然缺陷过程不可追溯出了问题只能靠记忆去猜。Jenkins 做的就是把这一串重复劳动固化成流水线。代码推到 Git 仓库的那一刻Jenkins 自动拉取最新代码按你配置好的步骤完成构建、测试、推送、部署甚至执行完还能把结果发到群里面。关键是整个流程是幂等的、可重复的任何人触发结果都一样这就是“集成部署”的核心价值。1.2 集成部署的整体流程和架构一次完整的 Jenkins 集成部署大体由五个环节组成。触发代码推送、定时轮询、手动点击构建。拉取从 Git 仓库拉取指定分支或标签的代码。构建执行 Maven、Gradle、npm、pip 等构建命令产出可部署的产物。测试跑单元测试、接口测试、生成 Allure 报告。部署将产物传输到目标服务器执行启动或重启必要时保留历史版本用于回滚。在架构上最轻量的是一个 Jenkins 实例同时承担调度、构建和执行。团队规模变大后可以拆成 Jenkins Master 加多个 AgentMaster 负责调度Agent 负责在不同环境Linux、Windows、K8s里执行构建任务。教程开头先不用过度设计单机跑通全流程后面再扩展节点也不迟。1.3 你需要准备的环境清单既然要“超级详细”环境这块还是列一个清单比较稳妥。一台 Linux 服务器2G 内存起步4G 更舒服云主机或虚拟机都可以。Java 环境Jenkins 本身依赖 JDKJava 项目构建也需要 JDK。Git拉取代码必备。目标部署服务器可以和 Jenkins 同一台也可以是独立机器后面会讲 SSH 方式的配置。代码仓库GitHub、GitLab、Gitee或者本机搭建的 Git 服务。项目本身一个真实能构建的 Java 或 Python 项目没有现成项目可以先 clone 一个开源 demo。这些环境不需要一步到位先装好 Jenkins剩下的按需补充。接下来就从安装开始。2. 安装Jenkins三种方式与初始化细节2.1 Docker方式安装推荐给没有Java环境的人如果你平时不希望在服务器上装一堆 JDK、Maven 环境Docker 方式最省事。执行下面这条命令Jenkins 主程序、依赖的 JDK、常用运行环境就都就位了。docker run -d \ --name jenkins \ -p 8080:8080 \ -p 50000:50000 \ -v /opt/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkins/jenkins:lts-jdk17这里有几个关键点要解释清楚。8080 是 Jenkins Web 界面端口浏览器访问http://服务器IP:8080就是它。50000 是 Jenkins Master 和 Agent 通信用的端口如果暂时不用 Agent 可以不映射但保留没坏处。/var/jenkins_home挂载到/opt/jenkins_home是为了让 Jenkins 配置、插件、构建记录都存在宿主机上容器删了数据不丢。把 docker.sock 挂进去是为了后续能直接在 Jenkins 里执行 docker 命令如果你确定用不到可以去掉。这里有个实际经验挂载目录的权限。Jenkins 容器内部用户 uid 是 1000如果你发现启动后目录操作报 permission denied直接执行chown -R 1000:1000 /opt/jenkins_home问题立刻消失。2.2 WAR包方式安装服务器已有JDK时更快很多公司服务器上已经有 JDK 8 或 JDK 11这种场景直接下载 jenkins.war 开跑最方便。wget https://get.jenkins.io/war-stable/latest/jenkins.war java -jar jenkins.war --httpPort8080默认情况下 Jenkins 部署在内置的 Jetty 容器里--httpPort参数可以自定义端口。这种方式的好处是升级简单下载新的 war 包替换旧的重启进程就完成升级。坏处是进程管理需要自己搞定用 systemd 或 supervisor 守护一下不然 jenkins 进程一挂服务就断了。这里提醒一句如果服务器上同时有多个 JDK 版本务必用update-alternatives或环境变量把默认 JDK 指到 Jenkins 支持的版本否则启动阶段容易出现 UnsupportedClassVersionError浪费时间排查。2.3 apt/yum方式安装Linux下最省心Debian/Ubuntu 系统推荐 apt 方式它会把 Jenkins 注册成系统服务开机自启和日志管理都自动处理。核心步骤是添加官方仓库再安装。curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc /dev/null echo deb [signed-by/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list /dev/null sudo apt update sudo apt install jenkins安装完成后Jenkins 会以jenkins这个系统用户运行配置文件在/etc/default/jenkins工作目录在/var/lib/jenkins。用systemctl status jenkins可以查看运行状态。建议优先用这种方式尤其是你希望 Jenkins 和宿主机共享环境变量、SSH 密钥、全局工具时比 Docker 少一层隔离排错也直观。2.4 初始化配置与插件下载镜像无论用哪种方式安装首次访问http://IP:8080都会看到一个“解锁 Jenkins”页面需要输入初始管理员密码。Docker 方式查看密码docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPasswordapt 方式查看密码sudo cat /var/lib/jenkins/secrets/initialAdminPassword输入密码后进入“自定义 Jenkins”页面新手建议选“安装建议插件”后续缺哪个再补装。但这里有一个很多人踩过的坑默认插件下载源访问速度非常不稳定经常出现安装失败或卡在某个插件上等半天没反应。解决办法是先把插件下载源切换到国内镜像。操作路径系统管理 - 插件管理 - 高级在“升级站点”处把 URL 替换成清华或华为云的镜像地址。https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.jsonhttps://mirrors.huaweicloud.com/jenkins/updates/update-center.json替换后点击“检查”再回到“可选插件”页面安装就顺畅很多。这个操作属于 Jenkins 使用基本项建议装完第一时间做。3. 创建一个自动构建任务界面配置逐项拆解3.1 源码管理配置Git仓库与凭据安装完成后正式创建一个任务。在首页点击“新建任务”输入名称比如demo-java-service选择“构建一个自由风格的软件项目”这个类型最适合入门后续再迁移到 Jenkins Pipeline。进入配置页后第一件事是配置“源码管理”。选择 Git然后在“Repository URL”填入仓库地址。https://github.com/yourname/demo-java-service.git如果你的仓库需要认证Jenkins 会要求配置凭据。点击“添加”按钮在类型里选择“Username with password”或“SSH Key”。这里建议优先用 SSH Key因为很多团队会把密码权限收掉SSH Key 更稳定也更安全。把私钥粘进去公钥配到 Git 仓库后台就能免密拉代码。“分支构建器”这里填*/main或*/master按实际分支选择。底部还有一个“源码库浏览器”配置可以关联 GitLab 或 GitHub在构建记录里直接跳转具体提交调试时很有用。不过这部分不是必需等项目跑通后再补。3.2 构建触发器轮询与Webhook构建触发器解决的是“什么时候开始构建”的问题常见两种方式。第一种是定时轮询。在“构建触发器”勾选“Poll SCM”填入 Cron 表达式比如H/5 * * * *表示每 5 分钟检查一次代码变更有变化才构建。这种方式适合内网 Git 仓库配置简单不依赖外部回调。第二种是 Webhook 推送。在 Gitee/GitHub 仓库后台配置 Webhook 地址指向 Jenkins 的接口http://你的Jenkins地址/gitee-webhook/同时在“构建触发器”勾选对应平台推送事件。代码一 push服务器马上触发构建延迟基本为零。实际推荐大家优先用 Webhook构建实时性更好而且会给代码仓库后台省掉大量无意义的轮询请求。3.3 构建环境与常用环境变量很多人跑通第一个任务后开始想在 Shell 步骤里引用一些动态值比如当前构建号、工作目录、分支名这时候就要用到环境变量。下面是 Jenkins 内置的高频变量建议直接收藏变量名含义示例值JOB_NAME当前任务名称demo-java-serviceBUILD_NUMBER构建序号45WORKSPACE工作目录绝对路径/var/lib/jenkins/workspace/demo-java-serviceJENKINS_URLJenkins 根地址http://192.168.1.10:8080/BUILD_URL当前构建页面地址http://.../job/demo-java-service/45/GIT_COMMIT当前构建的 Git 提交哈希a1b2c3d4GIT_BRANCH当前构建的分支origin/main在“构建环境”里勾选“Add timestamps to the Console Output”可以给构建日志加上时间戳排查慢构建的时候非常有用。另外如果任务内部调用了敏感信息比如数据库密码、云平台密钥不要明文写在命令里用“绑定凭据”功能引用。3.4 构建步骤与构建后操作“构建”部分可以添加很多步骤最简单的就是“执行 Shell”。比如一个 Maven 项目构建步骤写mvn clean package -DskipTestsfalse构建后操作可以定义“构建后动作”比如“发布 Allure 测试报告”“构建稳定后自动部署”“构建失败时发邮件通知”。这里需要理解一个核心顺序问题构建步骤负责“产生结果”构建后操作负责“消费结果”。代码编译失败就不会进入部署环节测试报告生成失败也不会影响部署产物除非你在构建命令里用了串行控制。到这里一个基础任务已经能跑起来了。下一步用真实项目把链路串完整。4. 实战Java项目持续集成与发布回滚4.1 JDK与Maven全局配置Java 项目构建前先确保 Jenkins 里配置好 JDK 和 Maven。进入系统管理 - 全局工具配置在 JDK 部分填写路径比如/usr/lib/jvm/java-8-openjdk-amd64。也可以让 Jenkins 自动安装但下载速度依然受网络影响建议使用本机已有的 JDK。Maven 部分同样填MAVEN_HOME路径。同时配置好 settings.xml很多人会在里面放私有仓库账号或者阿里云镜像仓库地址这样构建时依赖下载飞快。mvn --version可以先在服务器上执行确认版本。全局工具配置完成后Jenkins 任务里的 Shell 步骤才能直接使用mvn命令。这个配置很容易漏报 command not found 时先回来检查这里。4.2 编写构建步骤与部署脚本自由风格任务的构建步骤中加上一个“执行 Shell”完整内容大致是set -e mvn clean package -DskipTestsfalse echo 构建产物路径: target/*.jar注意set -e这一行很关键意思是脚本中任何一条命令报错构建立即失败。没有它的话即使测试失败Jenkins 也可能继续往下走导致部署了有问题的包。部署环节常见方案有三种在构建机上直接用 ssh 远程执行部署命令。构建机和部署机相同直接调用本地脚本。使用 Publish over SSH 插件把 jar 传输到远程服务器后启动。我自己的实践经验是小团队项目直接用 scp 加 ssh 最简单scp -i /var/lib/jenkins/.ssh/deploy_key \ target/demo.jar \ deploy192.168.1.20:/opt/app/releases/demo.jar ssh -i /var/lib/jenkins/.ssh/deploy_key \ deploy192.168.1.20 \ bash /opt/app/deploy.sh demo.jar远程部署脚本deploy.sh里做三件事停止旧进程、备份当前运行包、启动新包。这套流程不依赖多余插件逻辑完全掌控在自己手里。4.3 基于软链接的发布与一键回滚再进一步推荐在服务器上用软链接管理版本。每次发布不直接覆盖demo.jar而是把带构建号的 jar 放到版本目录然后切换软链接。# 目录结构 /opt/app/releases/demo-45.jar /opt/app/releases/demo-46.jar /opt/app/current - demo-46.jar启动脚本用软链接路径java -jar /opt/app/current回滚时只需改软链接指向ln -sfn /opt/app/releases/demo-45.jar /opt/app/current systemctl restart demo这种方式回滚速度非常快几秒钟就能切回上一版本而且不会破坏旧包文件。Jenkins 构建记录里保存了每次构建的BUILD_NUMBER回滚只需要找到对应版本号修改软链接即可。这也是热词里“项目发布及回滚”的实际落地方式建议所有 Java 项目都这么管理后续做灰度发布也会方便很多。5. 实战Python项目的持续集成部署5.1 构建环境准备与依赖安装Python 项目在 Jenkins 里的构建思路和 Java 不太一样不需要复杂的编译阶段重点在依赖安装、代码检查和测试。构建步骤可以这样组织cd ${WORKSPACE} python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple强烈建议每一个构建任务使用独立的 virtualenv不要往系统 Python 里乱装包。用我上面这种姿势即使项目之间依赖版本冲突也不会相互干扰。${WORKSPACE}是 Jenkins 工作目录直接在任务的执行 Shell 中可用。依赖安装这一步最怕网络波动和源不稳定所以一定要配置好 pip 镜像。上面给的清华源是国内比较稳的选择如果你是公司内网环境换成内部 PyPI 地址即可。另外可以在 requirements.txt 里锁定精确版本避免某个间接依赖升级导致测试失败。5.2 自动化测试与质量检查Python 项目如果没有自动化测试持续集成价值会打折一半。在构建脚本中继续追加source venv/bin/activate pytest tests/ --junitxmlreport/pytest.xml --alluredirreport/allure-results flake8 app/--junitxml是生成 JUnit 格式测试结果Jenkins 内置的“测试结果趋势”图表能直接读取这类文件。--alluredir是给 Allure 报告用后面会展开讲。flake8是代码静态检查提前发现未使用变量、行过长这类问题。这里有个坑要提醒pytest 退出码策略。默认 pytest 有测试失败时退出码非 0这正好符合构建失败预期。但如果你在命令后面加了|| true或者没有用set -e构建就会变成绿色即使测试全部失败所以代码检查命令务必放在部署步骤之前用set -e保证失败中断。5.3 服务重启与发布Python 项目部署一般不像 Java 需要传一个 jar而是直接把代码更新到服务器目录再重启服务。如果你使用 systemd 管理服务部署脚本可以写成cd /opt/app git pull origin main /path/to/venv/bin/pip install -r requirements.txt sudo systemctl restart myapp配合 Jenkins需要给 Jenkins 用户做 sudo 免密授权或者将 systemd 服务改成当前用户可管理。更推荐的方案是让 Jenkins 通过 SSH 方式登录部署机用部署机账号执行受控命令而不是把整台服务器的 root 都放开。如果项目是用 Docker 部署的脚本就变成docker build -t myapp:${BUILD_NUMBER} . docker stop myapp || true docker run -d --name myapp --rm myapp:${BUILD_NUMBER}每次构建都打独立镜像版本号回滚直接用旧镜像启动和前面软链接思路异曲同工。6. 实战前后端分离项目的一次完整部署6.1 前端构建NodeJS插件与npm前后端分离项目是目前最常见的一种团队协作模式。Jenkins 处理这类项目时建议拆成两个任务一个构建前端一个构建后端最后再汇总到一个总任务里联动触发。前端任务需要先安装 NodeJS 插件。进入系统管理 - 插件管理搜索 NodeJS 插件并安装。安装后在全局工具配置里配置 Node 版本建议选用 LTS 版本比如 Node 18 或 Node 20。前端构建步骤cd ${WORKSPACE} npm install --registryhttps://registry.npmmirror.com npm run build:prodnpm run build:prod会生成 dist 目录这就是最终产物。npm install 阶段是前端构建最慢的一环建议使用 npmmirror 镜像否则拉包速度很难接受。这里有一个非常容易遇到的问题如果你在服务器上已经用 root 用户跑过 npm再去 Jenkins 用 jenkins 用户构建经常会报EACCES: permission denied原因是 node_modules 和缓存目录的属主不对。解决办法是统一构建用户或者干脆每次都删掉node_modules重新安装虽然慢一点但不会出权限怪问题。6.2 后端打包与发布后端如果是 Java 项目按第 4 节的方式打 jar 包并传输到部署机。如果是 Python 项目按第 5 节方式更新依赖并重启服务。关键点在于前后端的目录分割。部署机上建议按下面结构组织/opt/myapp/ ├── frontend/ # 前端 dist 目录 └── backend/ # 后端产物jar 或源码目录这样 nginx 配置时前端静态资源根目录指向/opt/myapp/frontend后端接口反向代理指向本机某个端口中间用location /api做转发结构清晰也方便后续做 CDN 和缓存策略。6.3 nginx站点配置与目录规划一个比较完整的 nginx 站点配置如下server { listen 80; server_name myapp.example.com; root /opt/myapp/frontend; index index.html; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://127.0.0.1:8081/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }值得注意的坑是proxy_pass结尾的斜杠。如果写成http://127.0.0.1:8081不带斜杠那么访问/api/user时后端收到的路径是/api/user带斜杠http://127.0.0.1:8081/时路径会变成/user。这个细节搞错的话接口 404 会查到你怀疑人生建议先固定一种方案并在团队内统一。前后端部署完成后浏览器访问站点能看到静态页面能加载、接口数据能返回整个链路就算通了。7. 集成Allure测试报告让失败原因一眼可见7.1 安装Allure插件与命令行Allure 是目前比较主流的测试报告框架特点是报告直观、历史和趋势展示好。要在 Jenkins 中使用需要装两个东西Allure 插件和 Allure 命令行工具。插件安装路径系统管理 - 插件管理 - 可选插件搜索 Allure 并安装。命令行工具在全局工具配置 - Allure Commandline里安装可以自动从网上拉取也可以手动指定本机安装路径。7.2 生成并发布测试报告在测试阶段生成 Allure 结果文件后需要在构建后操作中添加一个步骤来生成报告。以 pytest 为例构建步骤中已经有pytest tests/ --alluredirreport/allure-results然后在“构建后操作”中选择“Allure Report”填写结果目录report/allure-resultsJenkins 会自动执行allure generate并把报告链接到构建页面。这里分成两种情况Java 项目用 Maven 跑测试生成 allure-results 目录配置方式完全一样。报告漂亮与否取决于你在测试代码中给用例写的描述、严重程度、步骤标注建议尽早让测试同事参与进来从项目初期就规范Severity、Story、Feature这些注解报告的可读性和代码可用性一样重要后期排查失败用例会轻松非常多。8. 常见问题排查速查表8.1 Publish over SSH报错connection is not established这个报错在热词里出现频率非常高完整报错通常是java.lang.IllegalStateException: connection is not established!。绝大多数情况不是凭据错了而是远程连接根本没有真正成功建立。按下面顺序排查基本都能解决。先手动ssh userhost试试确认目标服务器 sshd 在运行、端口开放、账号密码或密钥正确。检查 Jenkins 任务里是否配置了正确的主机名很多人在系统配置里填了 localhost而 Jenkins 和部署机不是同一台机器。检查 Publish over SSH 插件配置里的 Key 是否粘贴完整需要注意-----BEGIN RSA PRIVATE KEY-----头尾都在。检查连接池参数。插件配置里有一个最大连接数如果并发构建太多会出现连接复用异常把连接数调小或调大都有可能改善关键在于你的部署机性能。实在不行重启 Jenkins 服务。连接池里一些超时失效连接有时候就是需要重启一次才清理干净。8.2 update-center.json更新失败怎么办插件管理页面提示更新失败、安装失败或者卡在“检查更新”很长时间几乎都是默认更新源访问慢导致的。解决办法就是第 2.4 节的方法把升级站点 URL 切换成国内镜像地址然后点“提交”再回来检查插件列表瞬间就能加载出来。如果个别插件下载依旧失败去~/.jenkins/plugins/目录下看是否有残留的半成品文件清理掉再重装。这个目录路径可能因安装方式不同有差异Docker 安装对应挂载目录/opt/jenkins_home/pluginsapt 安装对应/var/lib/jenkins/plugins。8.3 构建记录堆积与磁盘清理Jenkins 跑久了以后最明显的问题是磁盘被构建记录和 Workspace 占满。尤其 Java 项目每个工作目录都有几十兆的 target 目录任务一多非常可怕。建议在任务配置的“丢弃旧的构建”里设置策略保留 10 次构建或保留 30 天。这个策略能自动清理jobs/任务名/builds/下的历史记录但不会清理 Workspace。Workspace 需要额外处理。可以使用“Workspace Cleanup Plugin”在构建前后清理旧文件。如果只是临时磁盘告警直接手动删rm -rf /var/lib/jenkins/workspace/*不用怕重新构建时会自动生成代码。8.4 其他高频问题集合现象原因解决构建成功但部署没生效远程脚本执行失败被忽略在 ssh 命令中加set -e检查脚本权限mvn 命令找不到全局工具配置缺少 Maven 路径在系统配置里补 MAVEN_HOME时间显示 UTC 而不是北京时间容器默认时区不对设置环境变量JAVA_OPTS-Duser.timezoneAsia/Shanghai端口已被占用无法启动8080 被其他服务占用换端口或停冲突进程Webhook 不触发仓库地址无法回调 Jenkins确认 Jenkins 地址外网可达或改用 Poll SCM最后再分享一点个人体会。Jenkins 这种工具真正难的不是安装和点击配置而是你愿意花多少时间把流程梳理清楚。我第一次搭建时光是理解“构建后操作不是构建步骤”“软链接做版本回滚比直接覆盖安全得多”就花了很长时间。你现在看到这些都是我把项目从手动部署切换到 Jenkins 后积累下来的经验。建议你拿到这篇教程后先用一个最简单的 demo 项目完整跑一遍再慢慢加入测试报告、多机部署这些能力。等多条流水线都跑起来你会明显感受到原先被重复劳动占掉的时间全部可以用在更有价值的代码和业务上。
企业数字化 ERP 产品动态
相关推荐
原码、反码、补码彻底搞懂:用时钟模型理解计算机整数存储 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:56:26
Allegro 17.4动态铜皮与静态铜皮本质区别及避坑指南 1. 动态铜皮与静态铜皮:Allegro 17.4里最常被误解的“铜皮身份”问题刚接手一个客户返修的四层板,电源平面在量产测试时频繁出现局部温升异常,热成像图显示某处铜皮边缘温度比周边高15℃以上。拿到原始Allegro 17.4设计文件一查,问… · 2026/9/27 20:56:26
CVPR 2024图像处理技术全解析:去噪、增强、分割与恢复的新趋势 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:56:26
Vibe Coding 遇上 TaoToken:用统一 Key 打通 AI 编程新范式 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 21:30:12
WPScan 动态指纹识别:如何用插件内置 CHANGELOG.md 精准探测 Stancer 插件版本 网络安全漏洞扫描渗透测试应用安全CLI 【免费下载链接】wpscan WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contactwpscan.com 项目地址: ht… · 2026/9/27 21:30:06
JS Paint 项目路线图解析:从 TODO.md 看经典画图工具的开源演进方向 前端桌面应用图像处理 【免费下载链接】jspaint 🎨 Classic MS Paint, REVIVED ✨Extras 项目地址: https://gitcode.com/gh_mirrors/js/jspaint 点击查看 免费下载 JS… · 2026/9/27 21:30:06
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01