使用 jenkins 构建 SpringBoot 项目时,需要增加 kill 进程的功能,否则再次启动时会失败,提示端口被占用。
Windows 平台的脚本
命令
for /f "tokens=5" %%p in ('netstat /anop tcp ^| findstr /i 8007 ^| findstr /i listening') do taskkill /f /pid %%p
解释
for
,遍历结果,结果是in
后面括号里面的命令执行的结果/f "tokens=5" %%p
,获取第五列的结果,并赋值给变量 pin (xxx)
,执行xxx
命令netstat /anop tcp ^| findstr /i 8007 ^| findstr /i listening
,8007
改成实际的 SpringBoot 程序的端口号。
do
,如果发现符合的结果,执行后面的命令
jenkins 配置
可以在 build 的最前面加上 Execute Windows Batch Command
步骤,如图:
点击 Build Now
,看下发现执行了: