Jenkins安装配置 远程发布SpringBoot项目
环境要求:
保证你的网络畅通。否则会遇到很多问题。
Java : 1.8.0_161.
Maven : http://maven.apache.org/download.cgi 3.6.1 下载完解压,配置环境变量:vim /etc/profile
MAVEN_HOME=/mysoft/maven
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH
生效配置文件 source /etc/profile
Git : https://github.com/git/git/releases 2.23.0
安装依赖的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载源码包进行源码安装:
解压:tar zxvf git-2.23.0.tar.gz
mv git-2.23.0 git
cd git
编译安装:
make prefix=/usr/local/git all
make prefix=/usr/local/git install
配置环境变量
vim /etc/profile
加入export PATH=$PATH:/usr/local/git/bin
生效配置文件 source /etc/profile
查看目录:whereis git , 查看版本:git --version
Jenkins 安装:
下载地址:https://jenkins.io/zh/download/ 2.191
启动方法: java -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可,启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件
我这边是直接吧war包放到了tomcat的webapps目录下,重启一下tomcat通过 192.168.1.101:8080/jenkins/ 来访问:
首先需要解锁jenkins ,这里密码到对应目录下拷贝进去即可,安装推荐的插件。
这里我们需要的插件是 Maven (Maven Integration),Git ,SSH(Publish Over SSH),GitHub Integration 等常用的插件,如果缺少插件可以到 Manage Plusins 中去安装:
Jenkins 基本配置:
基本配置中 JDK,Maven ,Git 的配置是必不可少的,在Global Tool Configuration 中配置(我部署在linux上,路劲均为服务器路径):
我们这里需要远程发布,所以我们这里还需要配置 SSH,在系统配置中 Configure System,首先我们需要在本机上生成私钥,设置目标服务器免密登录: ssh-keygen -t rsa
设置免密登录: ssh-copy-id root@IP
测试:
配置,这里的目录建议是 / ,不然后面会有影响:
测试是否成功:
创建一个 Maven Job:
创建完我们需要进行进一步的配置:首先,我这里是从GitHub进行源码管理,需要配置项目的远程仓库地址:
我这里采用的是父子工程的方式,所以我们需要指定对应的 Pom 文件进行项目构建:
接下去需要去配置 Post Steps :
source /etc/profile project=springboot-study-1.0-SNAPSHOT.jar 对应的工程 dir=/mysoft/ 目录 pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then kill -9 $pid fi nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/dev/null 2>&1&
就这样配置完成。
项目构建:
回到 My Views 进行代码构建:
可以到控制台查看构建情况:
当构建完成会出现以下日志:
然后到对应的服务器指定目录下查看是否出现 该Jar ,如果jar启动失败则需要查看项目是否有问题。这样就完成了简单的构建发布过程
Push代码后进行自动构建:
JenKins安装Gitlab Hook 两个Plugin插件。
GitHub收到提交的代码后要主动通知Jenkins,所以Jenkins所在服务器一定要有外网IP,否则GitHub无法访问,我的Jenkins服务器是部署在阿里云的云主机上,带有外网IP。
GitHub WebHook配置,地址就是上面这个:
配置触发器:
然后推一下代码就能看到构建