1、安装Jenkins
下载Jenkins的war包,下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
2、把war上传到Linux服务器
执行 java -jar jenkins.war --ajp13Port=-1 --httpPort=8081,指定端口为8081
3、浏览器地址输入http://ip:8081,等待Jenkins启动,启动后会让你输入密码,
密码查看:cat /root/.jenkins/secrets/initialAdminPassword,复制查看到的密码,填入,进入安装插件界面
视网络情况,等待插件安装完成,过程会比较慢,请耐心等待,不出意外,总能安装完成。
完成后再安装Publish Over SSH 和Maven Integration两个插件
maven插件安装会比较慢,请耐心等待,勾选完成后重启。
4、全局配置jenkins
配置远程服务器地址,端口,用户名,密码
测试一下远程服务器是否能连接:
出现success,则能连接成功,不然,之后上传项目会连接不上
5、配置全局的jdk、maven、git地址
5-1 maven配置
5-2 jdk配置,用openjdk的可能会报找不到JAVA_HOME,因此可以下载jdk的tar包解压,设置成解压后的目录就可解决
5-3 git配置
5-4 maven执行程序配置
6、新建任务
6-1新建一个maven的项目
6-2 全局配置
6-3 配置git地址,添加Credentials 输入用户名和密码,如果正确,不会报错
6-4 填写构建环境,多个服务,可以建多个
测试服务器就是刚刚配置了远程服务器的地址,并配置了路径/usr/local,加上Remote directory,拼接起来就是/usr/local/jenkins-jar/ 打包完成后会上传jar包到这个目录下
又添加了一个服务,都上传到jenkins-jar这个目录下,Source files 就是工程的根目录,意思是这个目录下的所有jar包,Romove Prefix 就是上传的只上传jar包,Exec command是服务器上的执行脚本,脚本:
脚本开始------------------------------------------------------------------------------------------------------------
#!/bin/bash
function killproject()
{
#由于我这边多个项目jar包名一致了,所以并没有用 ps -ef | grep jar包名 来查进程id,而是通过端口号来查的
project_pid=$(netstat -lnp | grep 8081|awk '{print $7}'|cut -d/ -f1)
if [ $project_pid > 0 ];then
echo "authorize项目已经启动了,开始关闭项目,项目pid为: $project_pid "
kill -9 $(netstat -lnp | grep 8081|awk '{print $7}'|cut -d/ -f1)
echo 'authorize项目关闭成功,开始重启项目。。。'
else
echo "authorize项目未启动,直接启动"
fi
}
function start_project()
{
source /etc/profile
echo 'authorize正在启动项目。。。'
cd /usr/local/jenkins-jar/
nohup java -jar authorize-service-0.0.1-SNAPSHOT.jar >authorize.log &2>1 &
}
killproject
sleep 2
start_project
脚本结束------------------------------------------------------------------------------------------------------------
把脚本放到填写的目录中
6-6 填写maven执地脚本
-Ptest就是springboot项目打包测试环境
完成后,保存退出
7,执行构建
8:看到构建成功,实现一键发布布署微服务: