记录Linux下部署jenkins+git+maven构建spi

一、需要的环境安装配置
1、JDK:centos7自带jdk

maven构建提示环境不是Jdk:

此处有坑1:【特记坑1:centos7自带的jdk用命令java --version查看是有的,但是maven构建的时候提示环境不是jdk。此处用javac查看是没有的,所以需要再安装下命令:yum install java-devel即可解决上图问题】
原因查到:


再次构建时已提示成功:

2、Linux(centos7)下安装jenkins 的rpm包
URL:https://pkg.jenkins.io/redhat-stable/
可以直接下载文档版的rpm包,通过xshell传到linux相应目录下

3、安装下载的jenkins的rpm包
命令:rpm -ivh jenkins-2.190.03-1.1.noarch.rpm
自动安装完成之后:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件
【启动后会提示复制密码进行下一步,插件安装,经历一个漫长的过程】
附带:jenkins启动关闭重启命令
jenkins启动
#service jenkins start
重启
停止
4、Linux下git安装
linux下git安装简单命令如下:
yum install -y git //安装git软件
git --version //查看git版本
git --help //查看git帮助

5、Linux下maven安装
1、创建maven的文件夹并下载maven的tar包到此文件夹中
建议放到:/opt/文件夹下
//进入一个目录
cd /opt
//创建一个文件夹
mkdir maven
//下载maven的tar包
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
//解压tar包
tar -xvf apache-maven-3.5.2-bin.tar.gz
配置环境变量
export MAVEN_HOME=/opt/maven
//找到PATH行,追加$MAVEN_HOME/bin
例如
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
//重新刷新配置文件
source /etc/profile
此处有坑2:【特记:坑2:就是maven路径不能放到/root路径下,不然后面构建的时候会提示找不到mvn命令即使配置的环境变量】
如图:

二、jenkins构建配置
1、项目git配置

2、项目maven路径配置
配置全局变量:Manage Jenkins >>Global Tool Configuration

3、构建shell脚本命令:
脚本:
# ! /bin/bash
source /etc/profile
pid=$(ps x |grep "d-view-1.0.0-SNAPSHOT.jar" |grep -v grep |awk '{print $1}' )
if [ -n "$pid" ]; then
echo "port is list: $pid"
sudo kill -9 $pid
fi
cd /opt/webapps/dataview-src/ty-data-view/data-view
pwd
mvn -T 1C clean install -D maven.test.skip=true -D maven.compile.fork=true
cd /opt/webapps/dataview-src/ty-data-view/data-view/d-view/target
pwd
BUILD_ID=dontKillMe
nohup java -jar d-view-1.0.0-SNAPSHOT.jar &
# 也可以把日志指定到某个目录下,nohup java -jar d-view-1.0.0-SNAPSHOT.jar >/opt/logs 2 > 1 &
(备注:也可以把控制台输出日志重定向输入到某个文件夹下eg:nohup java -jar d-view-1.0.0-SNAPSHOT.jar >/opt/logs 2>1 &)

此处有坑3:【特记坑3:点击构建后,通过控制台查看竟然没有查到SpingBoot的项目pid号,原因是jenkins启动构建时使用的jenkins自带的账号,需要改成root权限访问linux】
如图查不到pid号:

解决办法修改jenkins账号
vi /etc/sysconfig/jenkins
JENKINS_USER=”root” #之前默认是jenkins

这里我们把JENKINS_USER值改为root用户即可。

最后点击项目构建可以在控制台看到spingboot项目已成功启动


总结:对于jenkins很问题都是用户权限导致无法操作linux系统[更不要随意更改jenkins用户]