实现需求:windows环境下,在Jenkins上基于maven 构建springboot的项目,然后上传到linux系统,并进行部署。
1、安装Jenkins
下载地址https://jenkins.io/download/,选择对应版本的windows程序
安装过程不再详述,安装完成后会让你去一个文件里面拷贝一段随机生成的代码,然后就可以设置管理员用户名和密码,之后进行初始化,选择安装推荐的插件。
2、配置Jenkins
安装插件,本例中是使用maven打包springboot项目,主要用到的插件:Git plugin,maven Integration plugin,SSH2 Easy Plugin( 远程执行linux命令)
系统设置和全局配置
打开系统管理
配置linux远程服务器
使用的插件是SSH2Easy Plugin ,可以按组管理服务器,执行linux命令
具体参考https://wiki.jenkins.io/display/JENKINS/SSH2Easy+Plugin
全局工具配置
maven使用默认配置
配置Jdk路径
配置maven
maven下载地址:http://maven.apache.org/download.cgi
新建任务
这里我们选择maven
勾选参数化构建过程(这里是为了打包时选择不同的分支,没有该选项的话,安装插件Git Parameter)
git源码管理
构建触发器
构建成功后,上传jar包
选择执行windows批处理命令
这里使用pscp(下载地址:https://the.earth.li/~sgtatham/putty/0.71/w64/pscp.exe)
上传成功后,需要执行一个回车命令,所以我们需要自己编写一个脚本,内容是y再加一个换行,保存为bat文件(参考https://blog.csdn.net/zk0920zk/article/details/79257336)。
图中命令如下:
echo "开始上传文件"
D:\pscp -l name -pw password -r D:/jenkins-package/olap/target/test-0.0.1-SNAPSHOT.jar name@ip:/opt < d:/confirm.bat
echo "上传文件成功"
exit
其中 name为linux登录的用户名,password为linux登录的密码,ip为linux远程地址,/opt为linux远程目录,文件将传到该目录下
confirm.bat为我们刚才新建的批处理文件,内容只有一个y字母和回车键
远程执行linux命令,启动程序
Target Server 可以选择我们之前在SSH2中配置的服务器组
我们在linux执行的脚本如下
cd /opt
ps axu | grep olap-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -jar -Xmx512m -Xms256m test-0.0.1-SNAPSHOT.jar --spring.profiles.active=test >test-0.0.1-SNAPSHOT.log 2>&1 &
echo "启动完成"
exit 0
最后保存即可。
本文参考网站:https://blog.csdn.net/zk0920zk/article/details/79257336
https://www.cnblogs.com/lost0/p/7570107.html
https://www.jianshu.com/p/01fbcc01ff01
https://blog.csdn.net/u013354805/article/details/53714432