CentOS7.2集成jenkins github maven部署springboot项目

一、环境准备

  1. CentOS7.2 64位系统;

二、安装jdk

  1. 查看是否已经安装jdk
[root@centos ~]# rpm -qa |grep jdk
jdk1.8-1.8.0_161-fcs.x86_64

[root@centos ~]# yum list installed |grep jdk
jdk1.8.x86_64                    2000:1.8.0_161-fcs                installed

  1. 卸载已安装的jdk
[root@centos ~]# yum -y remove jdk1.8.x86_64

卸载完成之后Java命令不被识别

[root@centos ~]# java -version
bash: java: command not found...
  1. 下载安装jdk
    JDK下载网址
    解压到安装目录
[root@centos ~]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/java/
  1. 配置环境变量并使其生效
  • 注意:path路径中是冒号,不是分号!
[root@centos ~]# vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

[root@centos ~]# source /etc/profile
  1. 最后检查是否安装成功
[root@centos ~]# java -version
java version "1.8.0_161"

三、Maven 安装

  1. 下载安装文件
[root@centos ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
  1. 解压安装并移动指定目录
[root@centos ~]# tar -zxvf apache-maven-3.3.9-bin.tar.gz 
[root@centos ~]# mv apache-maven-3.3.9 /usr/maven/apache-maven-3.3.9
  1. 配置环境变量
    使用vim编辑/etc/profile文件
[root@centos ~]# vim /etc/profile

export M2_HOME=/usr/maven/apache-maven-3.3.9
export PATH=${M2_HOME}/bin:${PATH}

[root@centos ~]# source /etc/profile

4. 检验maven是否安装成功

[root@centos ~]# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/maven/apache-maven-3.3.9
Java version: 1.8.0_161, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_161/jre
Default locale: en_US, platform encoding: UTF-8
...

四、Git 安装

  1. 安装:
[root@centos ~]#yum install git
  1. 配置:
[root@centos ~]# git config --global user.name "github_name"
[root@centos ~]# git config --global user.email github@email.com

五、Jenkins 安装

  1. 下载安装Jenkins
[root@centos ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
[root@centos ~]#rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
[root@centos ~]#yum install jenkins
  1. 修改端口
    默认端口为8080,如果有冲突的话,建议修改。
[root@centos ~]# vi /etc/sysconfig/jenkins

JENKINS_PORT="8080"

  1. 启动服务
[root@centos ~]# service jenkins start
  1. 登录配置
    成功启动后,我们就可以通过 http://ip:端口号 访问了!

在浏览器中访问
首次进入会要求输入初始密码如下图,
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins001.png
《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins002.png

选择插件
进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为Pipelines)
勾选与Pipelines相关的插件

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins003.png

等待插件安装完成

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins004.png

配置用户名和密码

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins005.png

全局配置
系统管理-》全局工具配置 配置Git,JDK和Maven

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins006.png

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins007.png

安全配置
系统管理-》全局安全配置
● 勾选Allow anonymous read access
● 取消防止跨站点请求伪造

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins008.png

新建一个Maven项目

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins009.png

配置git源码、add用户密码

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins010.png

配置shell打包部署脚本

《CentOS7.2集成jenkins github maven部署springboot项目》 jenkins011.png

#!/bin/bash 
cd /usr/springboot
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /usr/springboot/startup.sh
BUILD_ID=dontKillMe nohup /usr/springboot/startup.sh &

配置三个脚本到指定目录,这里我配置的是/usr/springboot

  • stop.sh
[root@centos ~]# cd /usr/springboot
[root@centos ~]# vi stop.sh

#!将应用停止
#!stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application for SUN"
ls
pid=`ps -ef | grep spring-boot.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
  • replace.sh
[root@centos ~]# mkdir /usr/springboot/back_up
[root@centos ~]# cd /usr/springboot
[root@centos ~]# vi replace.sh

#!新增备份包的目录/usr/springboot/back_up
#!jenkins下系统管理→系统设置→主目录为/var/lib/jenkins
#!当前新建的jenkins任务名称为sun
#!则jenkins编译好的包存放在 /var/lib/jenkins/workspace/sun/target
#!将现有的jar备份后,将jenkins编译的新jar包复制到指定目录
#!replace.sh
#!/bin/bash
#!将现有的jar备份后,将新的jar包替换
file="/usr/springboot/spring-boot.jar"
if [ -f "$file" ]
then
mv /usr/springboot/spring-boot.jar /usr/springboot/back_up/spring-boot.jar.`date +%Y%m%d%H%M%S`
fi
cp /var/lib/jenkins/workspace/sun/target/sun.jar /usr/springboot
  • startup.sh
[root@centos ~]# cd /usr/springboot
[root@centos ~]# vi startup.sh

#!启动当前springboot项目
#!startup.sh
#!/bin/bash
ehco "授予当前用户权限"
chmod 777 /usr/springboot/spring-boot.jar
echo "执行....."
cd /usr/springboot
java -jar spring-boot.jar

任务配置完成后,就可以执行立即构建,在控制台可以看到如下信息:

[JENKINS] Archiving /var/lib/jenkins/workspace/sun/pom.xml to com.sun/spring-boot/0.0.1-SNAPSHOT/spring-boot-0.0.1-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/sun/target/spring-boot.jar to com.sun/spring-boot/0.0.1-SNAPSHOT/spring-boot-0.0.1-SNAPSHOT.jar
channel stopped
[sun] $ /bin/bash /tmp/jenkins5964668620232748720.sh
Execute shell Start
root
Stopping SpringBoot Application for SUN
kill -9 的pid: 28951
Execute shell Finish
授予当前用户权限
执行…..
. ____ _ __ _ _
/\ / __ _ () __ __ _ \ \ \
( ( )_
_ | ‘_ | ‘| | ‘ / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
‘ |____| .
|| ||| |_, | / / / /
=========|
|==============|/=////
:: Spring Boot :: (v2.0.0.RELEASE)

若控制台中报错提示权限不足时,参考如下:
打开配置文件,修改$JENKINS_USER,并去掉当前行注释

[root@centos ~]# vim /etc/sysconfig/jenkins

$JENKINS_USER="root"

修改Jenkins相关文件夹用户权限

[root@centos ~]# chown -R root:root /var/lib/jenkins
[root@centos ~]# chown -R root:root /var/cache/jenkins
[root@centos ~]# chown -R root:root /var/log/jenkins

重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root

[root@centos ~]# service jenkins restart
[root@centos ~]# ps -ef | grep jenkins
    原文作者:sun_927
    原文地址: https://www.jianshu.com/p/a200e0d4c43f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞