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..tar.gz
mv git-2.23. 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

Jenkins安装配置 远程发布SpringBoot项目

  启动方法: java  -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可,启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件

Jenkins安装配置 远程发布SpringBoot项目

  我这边是直接吧war包放到了tomcat的webapps目录下,重启一下tomcat通过 192.168.1.101:8080/jenkins/ 来访问:

Jenkins安装配置 远程发布SpringBoot项目

  首先需要解锁jenkins ,这里密码到对应目录下拷贝进去即可,安装推荐的插件。

Jenkins安装配置 远程发布SpringBoot项目

  这里我们需要的插件是  Maven (Maven Integration),Git ,SSH(Publish Over SSH),GitHub Integration 等常用的插件,如果缺少插件可以到 Manage Plusins 中去安装:

Jenkins安装配置 远程发布SpringBoot项目

Jenkins 基本配置:

  基本配置中 JDK,Maven ,Git 的配置是必不可少的,在Global Tool Configuration 中配置(我部署在linux上,路劲均为服务器路径):

Jenkins安装配置 远程发布SpringBoot项目

Jenkins安装配置 远程发布SpringBoot项目

Jenkins安装配置 远程发布SpringBoot项目

Jenkins安装配置 远程发布SpringBoot项目

 Jenkins安装配置 远程发布SpringBoot项目

  我们这里需要远程发布,所以我们这里还需要配置 SSH,在系统配置中 Configure System,首先我们需要在本机上生成私钥,设置目标服务器免密登录: ssh-keygen -t rsa

Jenkins安装配置 远程发布SpringBoot项目

  设置免密登录: ssh-copy-id root@IP

Jenkins安装配置 远程发布SpringBoot项目

  测试:

Jenkins安装配置 远程发布SpringBoot项目

  配置,这里的目录建议是 / ,不然后面会有影响:

Jenkins安装配置 远程发布SpringBoot项目

  测试是否成功:

Jenkins安装配置 远程发布SpringBoot项目

  创建一个 Maven  Job:

Jenkins安装配置 远程发布SpringBoot项目

  创建完我们需要进行进一步的配置:首先,我这里是从GitHub进行源码管理,需要配置项目的远程仓库地址:

Jenkins安装配置 远程发布SpringBoot项目

Jenkins安装配置 远程发布SpringBoot项目

  我这里采用的是父子工程的方式,所以我们需要指定对应的 Pom 文件进行项目构建:

Jenkins安装配置 远程发布SpringBoot项目

  接下去需要去配置 Post Steps :

Jenkins安装配置 远程发布SpringBoot项目

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 - $pid
fi
nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/dev/null >&&

  就这样配置完成。

项目构建:

  回到 My  Views 进行代码构建:

Jenkins安装配置 远程发布SpringBoot项目

  可以到控制台查看构建情况:

Jenkins安装配置 远程发布SpringBoot项目

  当构建完成会出现以下日志:

Jenkins安装配置 远程发布SpringBoot项目

  然后到对应的服务器指定目录下查看是否出现 该Jar ,如果jar启动失败则需要查看项目是否有问题。这样就完成了简单的构建发布过程

Push代码后进行自动构建:

  JenKins安装Gitlab Hook 两个Plugin插件。

  GitHub收到提交的代码后要主动通知Jenkins,所以Jenkins所在服务器一定要有外网IP,否则GitHub无法访问,我的Jenkins服务器是部署在阿里云的云主机上,带有外网IP。

Jenkins安装配置 远程发布SpringBoot项目

  GitHub WebHook配置,地址就是上面这个:

Jenkins安装配置 远程发布SpringBoot项目

Jenkins安装配置 远程发布SpringBoot项目

  配置触发器:

Jenkins安装配置 远程发布SpringBoot项目

  然后推一下代码就能看到构建

  

上一篇:【翻译】JavaScript内存泄露


下一篇:Shell脚本,自动化发布tomcat项目【转】