jenkins

本文介绍如何使用Jenkins实现前端项目的自动化部署流程,包括代码拉取、依赖安装、项目打包及推送至服务器,并重启静态与mock服务器。同时,还介绍了Jenkins的安装配置、用户管理及邮件通知等功能。

流程

  • copy 代码库 到jenkins 工作区。
jenkins 需要配置全局的gitsvn等代码库的版本工具
  • 下载项目依赖。
jenkins 需要配置全局的node环境。运行 npm install --save-dev.
  • 运行 项目的打包脚本。
需要知道项目的 脚本运行入口。推荐都配置成 默认的gulp。(webpack打包的项目 可以 增加一个 gulpfile 引导文件!)
推荐 统一配置一下 package.json 中的 scripts { "gulp": "gulp" } 。否则jenkins 需要配置全局的 gulp 环境运行打包脚本。
  • 推送打包后的文件(build)到指定的的服务器
这里可以打包后文件名可以自定义,只需要在对应的jenkins任务中正确的推送相应文件夹到服务器指定的静态部署文件夹既可。

推送 项目 文件中的mock 文件 到 服务器 指定的 mock 服务区(特例:我们的开发环境不涉及到后台,都是自己在维护数据,所以需要推送相关的mock服务。相当于自己维护的node后台服务!)。

  • 重启前端静态部署服务器和 mock 后台服务器。
重启之后:查看自己手机就可以了。

配置

安装(msi或者war包安装都可以)

启动命令: java -jar jenkins.war --httpPort=1314

管理员密码文件:C:Userswangxungang.jenkinssecretsinitialAdminPassword

管理用户

系统管理=> 管理用户中设置(不建议放开注册功能!)

邮件配置 (可以在部署失败等情况下 邮件通知相关人员)

clipboard.png

全局工具配置

  • git

项目配置

  • 参数化

clipboard.png

  • git 代码库 (配合上一步的参数化)

clipboard.png

  • 添加 node 环境

clipboard.png

  • 构建:shell脚本:
## path  echo $PATH
pwd

## version
node -v
npm -v

## package
npm install --save-dev

## build (可以配合参数化)
npm run ${dev}
  • 构建[win 批处理 远程服务器通过 ssh]copy (部署 打包后静态文件)
@echo off 
= /s :复制非空的目录和子目录 /y :禁止提示您确认要覆盖现存的目标文件 /i : 目标目录不存在时创建一个新目录 /h: 隐藏文件和系统文件
xcopy ".\build" "C:\node_web\mock\node_koa\cup\%JOB_NAME%" /y/s/i

echo 如果 使用了其他的生成目录,请相应调整一下 JOB_NAME :%JOB_NAME%

echo 迁移mock服务 : 对应文件夹存在时!

if exist ".\src\service\server" (
   xcopy ".\src\service\server" "C:\node_web\mock\node_koa\routes\%JOB_NAME%" /y/s/i

   echo 重启服务
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
) else (
   echo 没有对应的 mock服务!
)
@echo off
= /s :复制非空的目录和子目录 /y :禁止提示您确认要覆盖现存的目标文件 /i : 目标目录不存在时创建一个新目录 /h: 隐藏文件和系统文件

if "%update%"=="entry" (
   xcopy ".\build" "C:\node_web\mock\node_koa\cup\entry" /y/s/i
)

if "%update%"=="server" (
   xcopy ".\node_koa\config" "C:\node_web\mock\node_koa\config" /y/s/i

   xcopy ".\node_koa\app.js" "C:\node_web\mock\node_koa" /y/s/i

   echo 重启服务
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
)


if "%update%"=="whole" (
   echo base modules files 
   xcopy ".\node_modules" "C:\node_web\mock\node_modules" /y/s/i/h

   echo entry files
   xcopy ".\build" "C:\node_web\mock\node_koa\cup\entry" /y/s/i

   echo service files
   xcopy ".\node_koa\config" "C:\node_web\mock\node_koa\config" /y/s/i

   xcopy ".\node_koa\app.js" "C:\node_web\mock\node_koa" /y/s/i

   echo 重启服务
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
)
  • 邮件发送

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值