一、環(huán)境準(zhǔn)備
- CentOS7.2 64位系統(tǒng);
二、安裝jdk
- 查看是否已經(jīng)安裝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命令不被識(shí)別
[root@centos ~]# java -version
bash: java: command not found...
- 下載安裝jdk
JDK下載網(wǎng)址
解壓到安裝目錄
[root@centos ~]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/java/
- 配置環(huán)境變量并使其生效
- 注意:path路徑中是冒號(hào),不是分號(hào)!
[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
- 解壓安裝并移動(dòng)指定目錄
[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
- 配置環(huán)境變量
使用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. 檢驗(yàn)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
- 修改端口
默認(rèn)端口為8080,如果有沖突的話,建議修改。
[root@centos ~]# vi /etc/sysconfig/jenkins
JENKINS_PORT="8080"
- 啟動(dòng)服務(wù)
[root@centos ~]# service jenkins start
- 登錄配置
成功啟動(dòng)后,我們就可以通過(guò) http://ip:端口號(hào) 訪問(wèn)了!
在瀏覽器中訪問(wèn)
首次進(jìn)入會(huì)要求輸入初始密碼如下圖,
初始密碼在:/var/lib/jenkins/secrets/initialAdminPassword


選擇插件
進(jìn)入用戶自定義插件界面,選擇第二個(gè)(因?yàn)槲覀儽敬螛?gòu)建使用的為Pipelines)
勾選與Pipelines相關(guān)的插件

等待插件安裝完成

配置用戶名和密碼

全局配置
系統(tǒng)管理-》全局工具配置 配置Git,JDK和Maven


安全配置
系統(tǒng)管理-》全局安全配置
● 勾選Allow anonymous read access
● 取消防止跨站點(diǎn)請(qǐng)求偽造

新建一個(gè)Maven項(xiàng)目

配置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 &
配置三個(gè)腳本到指定目錄,這里我配置的是/usr/springboot
- stop.sh
[root@centos ~]# cd /usr/springboot
[root@centos ~]# vi stop.sh
#!將應(yīng)用停止
#!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 強(qiáng)制終止
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下系統(tǒng)管理→系統(tǒng)設(shè)置→主目錄為/var/lib/jenkins
#!當(dāng)前新建的jenkins任務(wù)名稱為sun
#!則jenkins編譯好的包存放在 /var/lib/jenkins/workspace/sun/target
#!將現(xiàn)有的jar備份后,將jenkins編譯的新jar包復(fù)制到指定目錄
#!replace.sh
#!/bin/bash
#!將現(xiàn)有的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
#!啟動(dòng)當(dāng)前springboot項(xiàng)目
#!startup.sh
#!/bin/bash
ehco "授予當(dāng)前用戶權(quán)限"
chmod 777 /usr/springboot/spring-boot.jar
echo "執(zhí)行....."
cd /usr/springboot
java -jar spring-boot.jar
任務(wù)配置完成后,就可以執(zhí)行立即構(gòu)建,在控制臺(tái)可以看到如下信息:
[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
授予當(dāng)前用戶權(quán)限
執(zhí)行.....
. ____ _ __ _ _
/\ / ' __ _ () __ __ _ \ \ \
( ( )__ | '_ | '| | ' / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
' |____| .|| ||| |_, | / / / /
=========||==============|/=////
:: Spring Boot :: (v2.0.0.RELEASE)
若控制臺(tái)中報(bào)錯(cuò)提示權(quán)限不足時(shí),參考如下:
打開配置文件,修改$JENKINS_USER,并去掉當(dāng)前行注釋
[root@centos ~]# vim /etc/sysconfig/jenkins
$JENKINS_USER="root"
修改Jenkins相關(guān)文件夾用戶權(quán)限
[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服務(wù)并檢查運(yùn)行Jenkins的用戶是否已經(jīng)切換為root
[root@centos ~]# service jenkins restart
[root@centos ~]# ps -ef | grep jenkins