Jenkins部署springboot项目
Jenkins安装插件
安装maven
1.登录jenkins
2.系统管理
3.插件管理
4.Maven Integration安装
安装git
在安装jenkins的服务器上安装git
1.wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
2.tar -zvxf git-2.9.5.tar.gz
3.yum -y install libcurl-devel expat-devel curl-devel gettext-devel openssl-devel zlib-deve
4.yum -y install gcc perl-ExtUtils-MakeMaker
5.编译
make prefix=/usr/local/git all
6.安装
make prefix=/usr/local/git install
7.配置环境变量
vi /etc/profile
export PATH=$PATH的后加上 :/usr/local/git/bin
8.刷新环境变量
source /etc/profile
9.查看git
git -version
安装gitee插件
github网络不稳定,不好用
gitlab自己搭建的服务器太烂,不好用
最后只能用gitee了
1.登录jenkins
2.系统管理
3.插件管理
4.Maven Integration安装Gitee Plugin
安装maven
1.下载maven
https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/
2.上传服务器并解压
tar vxf apache-maven-3.3.9-bin.tar.gz
3.配置环境变量
MAVEN_HOME=/data/soft/apache-maven-3.3.9
export MAVEN_HOME
export PATH=$PATH的后加上$MAVEN_HOME/bin
Jenkins配置java,git,maven,Gitee
1.Jenkins-系统管理-全局工具配置
2.如下设置java,git,maven,路径选择自己服务器的安装软件路径
1.Jenkins-系统管理-系统配置
2.Gitee配置如下
构建任务
1.新建任务
2.General
3.源码管理
4.构建触发器
Gitee里配置的时候,生成的Gitree WebHook在以后的Gitree的时候会用到
这里配置的是gitree里提交代码会自动构建
在gitee里进行WebHook生成
5.pre Strps
我理解在构建前要执行什么脚本,构建前什么都不用,所以没填
6.Build
7.Post Steos
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
#指定最后编译好的jar存放的位置
www_path=/data/
#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/workspace/helloword-springboot/target
#Jenkins中编译好的jar名称
jar_name=helloword-springboot-0.0.1-SNAPSHOT.jar
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /data/pid.txt)
#进入指定的编译好的jar的位置
cd ${jar_path}
#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}
#进入最后指定存放jar的位置
cd ${www_path}
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar helloword-springboot-0.0.1-SNAPSHOT.jar > /data/log.txt &
#将进程ID存入到shaw-web.pid文件中
echo $! > /data/pid.txt