jenkins部署springboot项目到windows服务器

jenkins部署springboot项目到windows服务器

安装FreeSSHd

在Windows服务器上安装FreeSSHd
下载地址:http://www.freesshd.com/?ctt=download
安装就不用说了,Windows安装就下一步下一步;so easy。
注意:安装完成后,会弹出两个框让你选择是/否。这里都选是,一个是创建私有秘钥,一个是添加为系统服务。另外就是,安装完成后,进程里面有一个名为FreeSSHDService.exe的进程请杀掉,然后以管理员身份运行桌面的FreeSSHD快捷方式。

接下来是进行配置
USERS登录的账号权限
jenkins部署springboot项目到windows服务器_第1张图片
Authentication,路径为安装路径。不用设置,设置后面两个即可
jenkins部署springboot项目到windows服务器_第2张图片SFTP主目录,设置好后Jenkins推送过来的文件就在这里
jenkins部署springboot项目到windows服务器_第3张图片
Server status,SSH服务一定要启动;不然会报错,如果开启防火墙,请将SFTP/SSH端口加入白名单
jenkins部署springboot项目到windows服务器_第4张图片如果启动出现如下异常
jenkins部署springboot项目到windows服务器_第5张图片则修改SSH配置,去除下图的两个复选框
jenkins部署springboot项目到windows服务器_第6张图片然后重启FreeSSHDService服务后重试
jenkins部署springboot项目到windows服务器_第7张图片## 添加远程发布账号信息
打开jenkins进入【系统管理】-【系统设置】
jenkins部署springboot项目到windows服务器_第8张图片找到Publish overSSH配置信息,添加远程发布账号信息
jenkins部署springboot项目到windows服务器_第9张图片
配置完成后点击测试,查看是否成功
在这里插入图片描述

创建任务

1.在jenkins上点击【新建任务】填好任务名

2.点击源码管理,填写github(或gitlab等)地址:
jenkins部署springboot项目到windows服务器_第10张图片

构建

选择【调用顶层Maven目标】执行构建命令
jenkins部署springboot项目到windows服务器_第11张图片
输入构建命令

jenkins部署springboot项目到windows服务器_第12张图片

clean install -Dmaven.test.skip=true

构建后操作

构建前确保目标服务器上已创建好项目目录
工程目录:D:/jenkins/gencode
工程发送/备份目录:D:/jenkins/gencode/backup
工程部署目录:D:/jenkins/gencode/target
工程可执行文件目录:D:/jenkins/gencode/bin

选择发送的windows服务器,并设置发送的项目、路径
jenkins部署springboot项目到windows服务器_第13张图片由于无法远程执行windows脚本,所以需要提前在目标服务器上创建好项目更新部署脚本

创建项目部署脚本

D:\jenkins\gencode\bin目录下创建项目部署脚本publish-test.bat

d:
cd d:/jenkins/gencode/bin
@echo off
set jarName=gencode.jar
set port=8001
SET backupFolder=D:\jenkins\gencode\backup\
SET targetFolder=D:\jenkins\gencode\target\
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
set ymd=%ymd: =0%
echo 正在进行部署文件【%backupFolder%%jarName%】校验
if exist %backupFolder%%jarName% (
	echo 正在查询%port%端口占用情况,若存在进程则停止
	for /f "tokens=5" %%a in ('netstat /ano ^| findstr %port%') do ( 
		taskkill /F /pid %%a
	)
	if exist %targetFolder%%jarName% (
		echo 存在旧的构建【%targetFolder%%jarName%】,正在进行删除
		del %targetFolder%%jarName%
	)
	copy /y %backupFolder%%jarName% %targetFolder%
	rename  %backupFolder%%jarName% %ymd%_%jarName%
	echo 文件【%backupFolder%%ymd%_%jarName%】发布成功
	start "%jarName%" java -Xms128m -Xmx512m -server -jar %targetFolder%%jarName% --spring.profiles.active=test
	echo 启动项目【%jarName%】成功
) else (
    echo 文件【%backupFolder%%jarName%】不存在,无需进行更新部署!
)
ping 127.1 -n 5 >nul

创建定时任务

创建定时任务,每五分钟定时执行项目更新脚本

schtasks /create /tn "jenkins_gencode" /tr "D:/jenkins/gencode/bin/publish-test.bat" /sc minute /mo 5

删除定时任务

schtasks /delete /tn "jenkins_gencode"

查看定时任务

win+r,在弹出的运行框中输入一下命令,可查看计划任务列表

taskschd.msc

你可能感兴趣的:(jenkins部署springboot项目到windows服务器)