一、环境准备
- CentOS7.2 64位系统;
二、安装jdk
- 查看是否已经安装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
- 卸载已安装的jdk
[root@centos ~]# yum -y remove jdk1.8.x86_64
卸载完成之后Java命令不被识别
[root@centos ~]# java -version
bash: java: command not found...
- 下载安装jdk
JDK下载网址
解压到安装目录
[root@centos ~]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/java/
- 配置环境变量并使其生效
- 注意: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
- 最后检查是否安装成功
[root@centos ~]# java -version
java version "1.8.0_161"
三、Maven 安装
- 下载安装文件
[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
- 解压安装并移动指定目录
[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
- 配置环境变量
使用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 安装
- 安装:
[root@centos ~]#yum install git
- 配置:
[root@centos ~]# git config --global user.name "github_name"
[root@centos ~]# git config --global user.email github@email.com
五、Jenkins 安装
- 下载安装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
- 修改端口
默认端口为8080,如果有冲突的话,建议修改。
[root@centos ~]# vi /etc/sysconfig/jenkins
JENKINS_PORT="8080"
- 启动服务
[root@centos ~]# service jenkins start
- 登录配置
成功启动后,我们就可以通过 http://ip:端口号 访问了!
在浏览器中访问
首次进入会要求输入初始密码如下图,
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
选择插件
进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为Pipelines)
勾选与Pipelines相关的插件
等待插件安装完成
配置用户名和密码
全局配置
系统管理-》全局工具配置 配置Git,JDK和Maven
安全配置
系统管理-》全局安全配置
● 勾选Allow anonymous read access
● 取消防止跨站点请求伪造
新建一个Maven项目
配置git源码、add用户密码
配置shell打包部署脚本
#!/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