当前位置: 首页 > news >正文

jenkins 自动部署

一、win10 环境安装:

1、jdk 下载安装:Index of openjdk-local

2、配置环境变量:

3、jenkins 下载:Download and deploy  下载后的结果:jenkins.war

4、jenkins 启动:

5、创建管理员用户 admin 登录系统:

6、创建任务:

7、增加构建步骤的脚本:

@echo off
cd /d parent\vue2set HASH_FILE=.%HASH%.json.hash
set CURRENT_HASH_FILE=.%CURRENT%.json.hashecho [1/5] 生成当前 package.json 和 package-lock.json 的哈希值...:: 使用 PowerShell 计算两个文件的合并哈希(如果文件不存在则视为空)
powershell.exe -Command "Get-FileHash package.json,package-lock.json -Algorithm MD5 | ForEach-Object { $_.Hash }" > %CURRENT_HASH_FILE% 2>nul || echo EMPTY > %CURRENT_HASH_FILE%:: 检查是否有上次的哈希记录
if not exist %HASH_FILE% (echo 上次依赖哈希记录不存在,首次构建或依赖已变,执行 npm install...goto :REINSTALL
):: 比对哈希
fc %HASH_FILE% %CURRENT_HASH_FILE% > nul
if %errorlevel% equ 0 (echo 依赖未变化,跳过 npm install,直接构建...goto :BUILD
) else (echo 依赖已变化,重新安装...goto :REINSTALL
):REINSTALL
if exist node_modules (echo 删除 node_modules...rd /s /q node_modules
)
echo 执行 npm install...
call npm install
if %errorlevel% neq 0 (echo npm install 失败!exit /b 1
)
:: 更新哈希文件
move /y %CURRENT_HASH_FILE% %HASH_FILE%
goto :BUILD:BUILD
echo 执行 npm run build...
call npm run build
if %errorlevel% neq 0 (echo 构建失败!exit /b 1
)echo ✅ 构建完成!:: 清理临时文件
if exist %CURRENT_HASH_FILE% del %CURRENT_HASH_FILE%
exit /b 0

上面的配置完成之后,已经可以构建项目了,提交完代码之后,手动点击构建按钮,会在默认目录生产构建产物:C:\Users\Administrator\.jenkins\workspace\test\parent\vue2

二、将构建产物上传到本地 nginx 服务器上:

1、本地搭建了一个 nginx 服务器

三、实现 jenkins 每次构建后,将构建产物上传到 nginx 服务器上,并刷新静态内容

1、在 jenkins 增加构建步骤

脚本:

@echo off:: 定义变量
set SOURCE_DIR=C:\Users\Administrator\.jenkins\workspace\test\parent\vue2\dist
set TARGET_DIR=D:\usr\web:: 复制 dist 目录下的所有文件和子目录到目标目录,覆盖已有文件
xcopy "%SOURCE_DIR%" "%TARGET_DIR%" /E /I /Y /Q:: 判断复制是否成功
if %errorlevel% equ 0 (echo 复制成功。
) else (echo 复制失败,错误代码: %errorlevel%exit /b %errorlevel%
):: 重启 Nginx
echo 正在重启 Nginx...
cd /d D:\usr\nginx && nginx -s reload:: 检查 Nginx 是否正在运行,如果没有则启动
tasklist | findstr nginx.exe >nul
if %errorlevel% equ 1 (echo Nginx 未运行,正在启动...start "" D:\usr\nginx\nginx.exe
)echo Nginx 重启完成。exit /b 0

基于上面操作步骤,点击构建的时候,可以实现拉取 github 上的最近代码,构建前端代码,将构建产物上传到 nginx 服务器上,并启 nginx 自动构建部署功能。

四、优化为提交代码后自动构建部署

1、如果有服务器,可以使用下面这种方式

2、仅用于简单学习,可以下面这种方式实现

后序,1、学习 docker;2、学习 linux,模拟真实环境。

http://www.dtcms.com/a/333087.html

相关文章:

  • 开发Chrome/Edge插件基本流程
  • mysql中in 和 exists 区别
  • 从传感器到大模型:Jetson Thor + LLM.VLA + Holoscan 的边缘推理全链路实战
  • 基于改进Apriori算法的Web文档聚类方法研究(一)
  • 20250815给ubuntu22.04.5的系统缩小/home分区
  • Doris FE 应急恢复手册:六大经典故障场景与解决方案
  • WITRAN:基于改进的RNN时间序列预测模型
  • rent8 安装部署教程之 Windows
  • Effective C++ 条款43:学习处理模板化基类内的名称
  • 俄罗斯信封套娃问题-二维最长递增子序列
  • 【JavaEE】多线程 -- 线程安全
  • UI-TARS-Desktop 深度解析:下一代智能自动化桌面平台
  • Stagehand深度解析:从开源自动化工具到企业级RPA平台的演进之路
  • 神经网络 小土堆pytorch记录
  • nVidia Tesla P40使用anaconda本地重编译pytorch3d成功加载ComfyUI-3D-Pack
  • 基于多分类的工业异常声检测及应用
  • 微信小程序 拖拽签章
  • C语言基础00——基本补充(#define)
  • useEffect 和 useLayoutEffect 执行时机
  • 【补充】数据库中有关系统编码和校验规则的简述
  • 网络性能排查
  • MC0439符号统计
  • 【web自动化】-2- 浏览器的操作和元素交互
  • 基于vue、node.js、express的网络教学系统设计与实现/基于vue、node.js、express的在线学习系统设计与实现
  • Python实现水文水质预测:Numpy/Matplotlib/TensorFlow实战+神经网络/CNN/RNN/SVM对比+大型水库案例
  • 【.net core】【wetercloud】处理前端项目免登陆,且从前端项目跳转至系统内时的问题
  • 【学习嵌入式day-25-线程】
  • 2020 GPT3 原文 Language Models are Few-Shot Learners 精选注解
  • git推送远程仓库报错:Bad configuration option: \357\273\277include
  • Git报错 “fatal: unable to access CRYPT_E_REVOCATION_OFFLINE (0x80092013)“问题的解决方法