使用Jenkins部署VUE项目到windows服务器_配置Jenkins项目(4)

2020-12-19 19:33

阅读:522

标签:导致   taobao   存储   nodejs   power   mic   备份   pre   服务   

一、分析准备

 接上文,我们的前端代码是通过git管理的,需求是通过Jenkins拉取前端VUE代码并且编译生成待部署的部署包。经过分析,我们需要做如下的准备:

1、Jenkins的机器能拉取git代码并编译;——已完成

2、Jenkins的机器能通过SSH连接项目所在的windows server服务器;——已完成

3、新建Jenkins任务将编译、部署串起来;——本期目标

PS:项目的情况如下

Jenkins机器

1台,部署在windows机器

项目语言 VUE纯前端
项目部署服务器 1台,windows server服务器

 

 

 

 

 

二、Jenkins项目配置

新建自由风格的项目技术图片

技术图片由于项目使用git管理代码,这里进行git相关配置。注意使用最开始配置的全局凭证,即Jenkins机器生成的私钥。技术图片

 技术图片

构建触发器请参考注释按需配置,由于目前我们项目只需要手动触发构建,这里就不选了。

技术图片

  由于项目是VUE项目,这里要配置使用nodejs(前文在Global Tool Configuration中配置)环境进行编译。(参考https://www.cnblogs.com/chooperman/p/14061469.html)

技术图片

 由于我部署Jenkins服务的机器也是windows的,这里选择使用windows命令进行拉取代码后的编译(下图1)及后续处理(下图2)。

使用如下命令后,最终会在 %WORKSPACE%目录下,生成dist.tar的压缩包,后续将其直接放入项目服务器解压即可。

 技术图片

  附上相关代码

call echo 构建_01注册淘宝镜像
call npm config set registry https://registry.npm.taobao.org
call echo 构建_02检查注册结果
call npm config get registry
call echo 构建_03依赖安装
call npm install
call echo 构建_04编译打包
call npm run build
call echo 构建后处理_01进入dist目录
call cd dist
call echo 构建后处理_02压缩编译包
call tar cvf dist.tar *
call echo 构建后处理_03压缩包放入工作目录
call xcopy /s/y dist.tar %WORKSPACE%

得到上述产物包后,使用Send files or execute commands over SSH命令,选择配置好的远程服务器,按下图将包发送到项目服务器上。

 技术图片

  接下来,使用Execute shell script on remote host using ssh命令,选择项目所在服务器,进入指定的目录,执行该目录下已经提前配置好的bat脚本,进行产物包挪位置,解压、删除等操作。

 技术图片

  注意:由于前文提到使用powerShellServer工具连接到远程服务器后,其命令行所在的默认的路径(下图1),并不是将代码包复制过去的路径(下图2、图3),而我们把bat脚本也放在了代码包复制过去默认存储的路径,因此要注意切换到对应目录执行bat脚本。

 技术图片 技术图片

  技术图片

  然后说明下bat脚本的主要作用,主要是将产物包从临时目录复制到项目部署所需目录,然后进入该目录对其进行解压,解压后删除废弃的产物包。这里暂时没有对原代码包进行备份等操作,各位按需进行。

技术图片

 上述所有内容配置完后,保存即可。

接下来进行调试看看,由于前面准备工作比较到位,查看控制台输出发现一次成功了。

技术图片

 技术图片

  最后,建议直接访问项目的web地址,通过实际的功能界面确认下代码是否已部署最新的了。

 

好了,经过这些天的调试,终于能使用Jenkins部署代码到windows server服务器了。总结下来,耽误比较多精力的是

1、项目服务器是阿里云,一开始不清楚没有及时找管理员开放ssh端口导致调试耽误很长时间;

2、在ssh工具的选择上,花费了很多时间,最终仅使用powershellServer成功了;

3、Jenkins部署所在机器各类环境的安装,nodejs、git等等;

还是linux好用点,哈哈哈~

使用Jenkins部署VUE项目到windows服务器_配置Jenkins项目(4)

标签:导致   taobao   存储   nodejs   power   mic   备份   pre   服务   

原文地址:https://www.cnblogs.com/chooperman/p/14077964.html


评论


亲,登录后才可以留言!