jenkins部署springboot项目到windows服务器
安装FreeSSHd
在Windows服务器上安装FreeSSHd
下载地址:http://www.freesshd.com/?ctt=download
安装就不用说了,Windows安装就下一步下一步;so easy。
注意:安装完成后,会弹出两个框让你选择是/否。这里都选是,一个是创建私有秘钥,一个是添加为系统服务。另外就是,安装完成后,进程里面有一个名为FreeSSHDService.exe的进程请杀掉,然后以管理员身份运行桌面的FreeSSHD快捷方式。
接下来是进行配置
USERS登录的账号权限
Authentication,路径为安装路径。不用设置,设置后面两个即可
SFTP主目录,设置好后Jenkins推送过来的文件就在这里
Server status,SSH服务一定要启动;不然会报错,如果开启防火墙,请将SFTP/SSH端口加入白名单
如果启动出现如下异常
则修改SSH配置,去除下图的两个复选框
然后重启FreeSSHDService服务后重试
## 添加远程发布账号信息
打开jenkins进入【系统管理】-【系统设置】
找到Publish overSSH配置信息,添加远程发布账号信息
配置完成后点击测试,查看是否成功
创建任务
1.在jenkins上点击【新建任务】填好任务名
2.点击源码管理,填写github(或gitlab等)地址:
构建
选择【调用顶层Maven目标】执行构建命令
输入构建命令
clean install -Dmaven.test.skip=true
构建后操作
构建前确保目标服务器上已创建好项目目录
工程目录:D:/jenkins/gencode
工程发送/备份目录:D:/jenkins/gencode/backup
工程部署目录:D:/jenkins/gencode/target
工程可执行文件目录:D:/jenkins/gencode/bin
选择发送的windows服务器,并设置发送的项目、路径
由于无法远程执行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