Windows下Jenkins部署SpringBoot项目

使用Jenkins打包项目可以避免手动打包上传部署,节省了不少时间,有利于团队开发。我所部署的项目是SpringBoot,版本控制使用的是SVN

Windows下Jenkins的安装详见另一篇文章

Windows安装Jenkins_呆某人的博客-CSDN博客_windows 安装jenkins

设置Maven安装路径

Jenkins面板中选择Maven Jenkins,点击Global Tool Configuration

找到Maven安装,新增maven,填入maven的Name和MAVEN_HOME,这里我用的是我本地安装的maven,设置完点击保存即可。

安装Subversion和publish-over-ssh

这里我已经安装了Subversion Plug-in,没有安装的在可选插件里查找然后安装

安装publish-over-ssh

进入Manage Jenkins中选择Configure System

找到Shell,填入本地的cmd.exe路径,不然会报错

 

 

安装PowerShell Server 2016和配置Jenkins中的SSH Server

Powershell Server百度云链接如下:

链接:https://pan.baidu.com/s/1Q2o-83wSD0vTkqSLyGtJaA 
提取码:vfii 

设置开启自启动

选择当前Windows用户中的Administrators作为登录账户

勾选SFTP Features中两个选型,设置D盘的文件夹为上传的主目录

 

 在Manage Jenkins中打开Configure System

 找到Publish over SSH

 

找到SSH Servers,填入Jenkins要部署的那个服务器的别名、主机名IP、登录用户名、远程上传目录

 开始配置SpringBoot项目部署流水线

点击新建Item项目

 

 选择构建一个maven项目,输入项目名称

 选择Subversion,因为我用的是svn版本控制,填入项目url,svn的账户密码

 在构建环境中勾选Send files or execute commands over SSH after the build runs(在本地构建项目完成后发送文件或者执行命令到远程服务器),选择之前配置好的SSH Server,Transfer Set设置Source files(本地Jenkins的相对目录路径),Remove prefix(去除多余的路径前缀),Remote directory(远程目标上传目录路径)

路径详解:

(C:\Users\Administrator\.jenkins\workspace\测试环境后台包)此路径是Jenkins创建的部署流水线编译打包后的项目路径,(D:\root)此路径是远端服务器上传文件的根目录,也就是Jenkins本地包上传的根目录,Source files可以设置为test\lib\**,remove prefix可以设置为test\lib\,Remote directory设置为\lib,意思就是我要上传C:\Users\Administrator\.jenkins\workspace\测试环境后台包\test\lib文件夹下的所有文件,并且去除test\lib\前缀,最终上传至远端服务器的D:\root\lib目录下。

 

 Send files or execute commands over SSH after the build runs的另一个功能就是在远端服务器执行命令行,如下图所示执行windows的cmd命令,意思是第一步进入c盘,第二步进入C盘的C:\Users\Administrator\Desktop(也就是windows桌面),第三步执行test.bat脚本

C:
cd C:\Users\Administrator\Desktop
start test.bat

 test.bat(以D:\root\lib下所有jar包为基础,运行D:\root\test.jar,且将运行的项目进程名称命名为test)

@echo off
START "test" java -Dloader.path=D:\root\lib -jar D:\root\test.jar

流水线中还有一个功能就是前置步骤,在打包编译前执行的命令,这里也选择Send files or execute commands over SSH,可以对远端服务器执行命令,选择之前配置好的SSH Server,在Exec command中填入如下脚本。(脚本注解:进入C盘,进入C盘的C:\Users\Administrator\Desktop,执行killTest.bat脚本)。

C:
cd C:\Users\Administrator\Desktop
start killTest.bat

 killTest.bat(强制杀死进程名为test的进程)

@echo off
set char=test
echo char : %char%
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %char%`) do (
		echo find process %%a %%b
		set pid=%%a
		set image_name=%%b
)
echo now will kill process : pid %pid%, image_name %image_name%

taskkill /f /pid %pid%
pause
exit

 

因为需要编译打包的是maven项目,所以在build模块中填写Goals and options(clean install package -Dmaven.test.skip=true)

最后点击保存

 

 

PS

在部署过程中遇到的问题如下,你如果遇到类似的问题,可以参考下

Jenkins安装maven插件_陈橙橙丶的博客-CSDN博客_jenkins安装maven插件

Jenkins系列教程七:Jenkins安装svn插件_懵懂无知的蜗牛的博客-CSDN博客_jenkins svn插件

Jenkins配置自动部署发送jar包到Windows服务器发版_飞来直去的博客-CSDN博客_jenkins发送文件到windows

Jenkins报错Cannot run program "sh"

Jenkins报错Cannot run program "sh" - 随波追逐 - 博客园

Jenkins安装SSH插件_阿甘兄的技术博客_51CTO博客

Jenkins上传文件到远程服务器失败 - 简书

.bat脚本中通过停止java进程_lsh1587719410的博客-CSDN博客_bat 停止java程序

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值