1. 程式人生 > >在Centos7搭建jenkins實現自動化部署springboot專案

在Centos7搭建jenkins實現自動化部署springboot專案

在Centos7搭建jenkins實現自動化部署springboot專案
安裝前要把基本的環境裝好
1.jdk安裝
關於centos上的java
   Jenkins不支援在centos的預設的jdk上工作。所以要刪除自己裝
查詢jdk命令
rpm -qa | grep jdk 或者 rpm -qa | grep gcj
然後強制解除安裝:yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
安裝jdk
新建一個目錄 上傳官網下載的jdk至目錄
解壓 tar -zxvf jdk-8u131-linux-x64.tar.gz
然後進入解壓後的jdk bin目錄輸入java測試一下
配置環境變數:vim /etc/profile
用vim編輯器來編輯profile檔案,在檔案末尾新增一下內容(按“i”進入編輯):
export JAVA_HOME=/usr/java/jdk1.8.0_131 此為jdk安裝目錄
export JRE_HOME= J

A V A H O M E / j
r e e x p o r t C L A
S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: {JAVA_HOME}/lib: J R E H O M E / l i b : {JRE_HOME}/lib: CLASSPATH
export JAVA_PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: {JRE_HOME}/bin
export PATH= P A T H : PATH: {JAVA_PATH}
2.安裝git客戶端
  yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils- MakeMaker
3.安裝maven
下載官網linux maven 解壓
再用vim編輯器來編輯profile檔案,在檔案裡新增上環境變數

一.安裝jenkins
下載:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
安裝:
sudo yum install jenkins

啟動和停止
啟動:sudo service jenkins start
停止:sudo service jenkins stop
重啟:sudo service jenkins restart

執行
servicejenkins start 時,報錯如下:
按照提示執行:systemctl status jenkins.service,提示如下:

發現是找不到jdk,修改檔案:
vim /etc/init.d/jenkins
candidates="
/setup/tools/jdk1.8.0_144/bin/java #此處為加入的java路徑
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
下面檢視:
vim /etc/sysconfig/jenkins
do
[ -x “KaTeX parse error: Expected 'EOF', got '&' at position 21: …NS_JAVA_CMD" ] &̲& break JEN…candidate”
done

4、jenkins的預設設定
  Jenkins會隨系統啟動而啟動。詳情參照/etc/init.d/jenkins
  Jenkins會建立一個使用者叫做jenkins, 如果你修改了user,
則要修修改所屬者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
  如果遇到問題,檢視日誌/var/log/jenkins/jenkins.log
  配置檔案/etc/sysconfig/jenkins
  預設啟用8080
5、開啟和關閉防火牆
  開啟非80埠需要開啟防火牆,參考:http://www.cnblogs.com/rslai/p/7954080.html
6、配置埠修改
vi /etc/sysconfig/jenkins
JENKINS_PORT=“8080”
9、yum安裝Jenkins預設路徑為
  /var/lib/jenkins
二、進入jenkins
1、開啟
http://192.168.3.231:8080 這裡是ip加埠

2、檢視密碼,將內容填寫到密碼處點選繼續
cat /var/lib/jenkins/secrets/initialAdminPassword

3、選擇預設外掛即可

4、設定管理員

在系統管理裡

安裝maven 外掛

找到Maven Integration 然後

第一個選項安裝不重啟,第二個選項立即下載並在重新啟動後安裝 ,第三個現在檢查
點第一個進行安裝

然後在系統管理裡點全域性工具配置

maven配置有兩處
第一處:

第二處:

jdk配置:

git配置:

以下是讓jenkins執行shell指令碼時擁有root許可權
以下過程是CentOS
1.開啟此指令碼(使用VIM或其他編輯器):
vim /etc/sysconfig/jenkins

2.找到 J E N K I N S U S E R r o o t JENKINS_USER並更改為“root”: 預設: JENKINS_USER=“jenkins”
修改成:$JENKINS_USER=“root”

3.然後更改Jenkins主頁,webroot和日誌的所有權:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

4.重新啟動Jenkins並檢查使用者是否已更改:
service jenkins restart
ps -ef | grep jenkins

現在你應該能夠以root使用者身份執行Jenkins作業,並且所有的shell命令將被執行root。

新建maven專案
到首頁下點

輸入專案名稱和點構建一個maven專案

然後點下面的:

下面進行專案配置:
一.git倉庫地址

二.配置掃描倉庫策略:下面配置是兩分鐘檢視倉庫有沒變化,有拉下來重新構建,沒有不會改變

三.配置打包命令,不需要在命令前寫mvn

四.寫執行指令碼:

然後點save

shell指令碼
#!/bin/bash
cd /home/release/ #!這個是進入到jar包放入的地址和下面指令碼存入的地址
sh stop.sh
sh replace.sh
echo “Execute shell Finish”
BUILD_ID=dontKillMe bash /home/release/startup.sh &

shop.sh
#! /bin/bash
jar_name=test-1.0.0-SNAPSHOT.jar #!這個是jar包名稱
PID=$(ps -ef | grep $jar_name | grep -v grep | awk '{ print KaTeX parse error: Expected 'EOF', got '}' at position 3: 2 }̲') if [ -z "PID" ]
then
echo Application is already stopped
else
echo $PID
kill $PID
fi

replace.sh
#!/bin/bash
echo copy
jar_name=test-1.0.0-SNAPSHOT.jar
#!jar包所在位置
jar_address=/home/release
#!備份
backup_address=/home/release/backup
#!編譯好的jar包存放地址
file_path=/var/lib/jenkins/workspace/test/target
#!將現有的jar備份後,將新的jar包替換
file="/home/release/test-1.0.0-SNAPSHOT.jar"
if [ -f “$file” ]
then
#如果已經有檔案了,做備份
mv j a r a d d r e s s / jar_address/ jar_name b a c k u p a d d r e s s / backup_address/ jar_name.date +%Y%m%d%H%M%S
fi
#拷貝過來
cp f i l e p a t h / file_path/ jar_name $jar_address

startup.sh
#!包名修改jar_name=後面為自己的maven打包的包名,不加.jar
jar_name=test-1.0.0-SNAPSHOT
#!輸出控制檯檔名
name=test
jar_address=/home/release
echo “授予當前使用者許可權”
chmod 777 j a r a d d r e s s / jar_address/ jar_name.jar
echo “執行…”
cd $jar_address
java -jar j a r n a m e . j a r > . / f i l e / jar_name.jar > ./file/ name.file 2>&1 &
echo “test on jenkins started***”

注:在執行前要在/home/release/目錄下建兩個資料夾分別是
file 和 backup
file資料夾裡存放的是專案的控制檯輸出檔案
backup是備份的jar包位置
這個是針對單個maven下 springboot專案jar包啟動的方式

然後點立即構建

這個就構建成功了
檢視構建日誌:

預設jenkins工作空間地址:
/var/lib/jenkins/workspace/
這個是我花了一天半時間研究jenkins的一點成果,其它專案構建釋出指令碼自己學習修改
不足之處大家相互討論下。
參考文件:
https://www.cnblogs.com/rslai/p/8135460.html