CentOS7.2集成jenkins github maven部署springboot項(xiàng)目

一、環(huán)境準(zhǔn)備

  1. CentOS7.2 64位系統(tǒng);

二、安裝jdk

  1. 查看是否已經(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

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

卸載完成之后Java命令不被識(shí)別

[root@centos ~]# java -version
bash: java: command not found...
  1. 下載安裝jdk
    JDK下載網(wǎng)址
    解壓到安裝目錄
[root@centos ~]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/java/
  1. 配置環(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
  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. 解壓安裝并移動(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
  1. 配置環(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 安裝

  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. 修改端口
    默認(rèn)端口為8080,如果有沖突的話,建議修改。
[root@centos ~]# vi /etc/sysconfig/jenkins

JENKINS_PORT="8080"

  1. 啟動(dòng)服務(wù)
[root@centos ~]# service jenkins start
  1. 登錄配置
    成功啟動(dòng)后,我們就可以通過(guò) http://ip:端口號(hào) 訪問(wèn)了!

在瀏覽器中訪問(wèn)
首次進(jìn)入會(huì)要求輸入初始密碼如下圖,
初始密碼在:/var/lib/jenkins/secrets/initialAdminPassword


jenkins001.png
jenkins002.png

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


jenkins003.png

等待插件安裝完成


jenkins004.png

配置用戶名和密碼


jenkins005.png

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


jenkins006.png

jenkins007.png

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


jenkins008.png

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


jenkins009.png

配置git源碼、add用戶密碼


jenkins010.png

配置shell打包部署腳本


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 &

配置三個(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,271評(píng)論 6 342
  • 入門 介紹 Spring Boot Spring Boot 使您可以輕松地創(chuàng)建獨(dú)立的、生產(chǎn)級(jí)的基于 Spring ...
    Hsinwong閱讀 17,094評(píng)論 2 89
  • 簡(jiǎn)介 概述 Maven 是一個(gè)項(xiàng)目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,531評(píng)論 6 39
  • 我想自己應(yīng)該是技術(shù)兵 英語(yǔ)和傳播,應(yīng)當(dāng)持續(xù)每日精進(jìn),就能被喜歡的事和人一直跟著,一直到越來(lái)越多不可替代性 如果我已...
    林依Evelyn閱讀 219評(píng)論 1 1

友情鏈接更多精彩內(nèi)容