天天看點

jenkins+springboot+github+maven自動化部署

jenkins+springboot+github+maven自動化部署

一.安裝并配置Git

1. 安裝git

在linux伺服器上安裝git:

yum install git

           

檢視git是否安裝成功:

git version

           

能夠顯示版本号即說明安裝成功:

jenkins+springboot+github+maven自動化部署

設定git使用者名和郵箱:

git config --global user.name "username"
git config --global user.email "[email protected]"

           

生成授權證書,中間過程直接全部回車:

ssh-keygen -t rsa -C "[email protected]"

           

檢視.ssh檔案夾下是否成功生成證書(id_rsa是私鑰,id_rsa.pub是公鑰):

jenkins+springboot+github+maven自動化部署

2. git證書配置

打開 https://github.com/settings/keys,進入SSH keys配置:

jenkins+springboot+github+maven自動化部署

将公鑰中的内容複制到公鑰文本框中并儲存:

jenkins+springboot+github+maven自動化部署

輸入以下指令,驗證git的配置是否正确:

ssh [email protected]

           

提示以下資訊即說明配置正确:

jenkins+springboot+github+maven自動化部署

二. 安裝并配置maven

下載下傳 maven 壓縮包:

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip

           

解壓縮:

unzip apache-maven-3.6.0-bin.zip

           

編輯 profile 檔案:

vi /etc/profile

           

在檔案末尾添加環境變量:

export MAVEN_HOME=你的maven路徑
export PATH=${MAVEN_HOME}/bin:$PATH

           

使環境變量立即生效:

source /etc/profile

           

檢視是否安裝成功:

mvn -version

           

顯示如下:

jenkins+springboot+github+maven自動化部署

三. 将Linux注冊到Jenkins

在Jenkins中依次點選:系統管理 -> 節點管理 -> 建立節點:

jenkins+springboot+github+maven自動化部署

節點的詳細配置:

jenkins+springboot+github+maven自動化部署

其中的伺服器使用者名和密碼配置要選擇 Username with password:

jenkins+springboot+github+maven自動化部署

還需要配置git的安裝路徑,可以通過

which git

指令來查詢:

jenkins+springboot+github+maven自動化部署

儲存配置後,運作該節點,點選啟動代理按鈕,連接配接Linux伺服器。

四. 建立Jenkins任務

輸入任務名稱,建構maven項目:

jenkins+springboot+github+maven自動化部署

配置限制項目的運作節點為目前節點:

jenkins+springboot+github+maven自動化部署

配置項目路徑,私有項目需要配置使用者名和密碼:

jenkins+springboot+github+maven自動化部署

配置maven打包指令:

clean package -Dmaven.test.skip=true

jenkins+springboot+github+maven自動化部署

Post Steps 選擇第一個選項,編寫建構腳本:

jenkins+springboot+github+maven自動化部署

腳本内容如下:

#!/bin/sh

echo "開始執行shell腳本"

# 在jenkins環境中一定要加這句話,否則這個腳本程序最後會被殺死
export BUILD_ID=dontKillMe

# 指定最後編譯好的jar的存放位置
JAR_PATH=你的路徑

# 如果路徑不存在,就建立路徑
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH

# 指定jenkins中存放編譯好的jar的位置
JENKINS_JAR_PATH=jar的位置

# 如果路徑不存在,就建立路徑
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH

# 指定jenkins中存放編譯好的jar的名稱(這個jar的名字和pom檔案配置有關)
JENKINS_JAR_NAME=apis.jar

# 擷取該項目的程序号,用于重新部署項目前殺死程序
process_id=$(ps -ef | grep apis | grep -v "grep" | awk '{print $2}')

# 如果該項目正在運作,就殺死項目程序
if [[ ! -z "$process_id" ]]
then 
 echo "停止服務"
    kill -9 $process_id
else 
 echo "服務未啟動"
fi

# 進入Jenkins中編譯好的jar的位置
cd ${JENKINS_JAR_PATH}

# 将Jenkins中編譯好的jar複制到最終存放項目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH

# 進入到存放項目jar的位置
cd ${JAR_PATH}

# 背景啟動項目,并且将控制台日志輸出到system.log中
nohup java -jar ${JENKINS_JAR_NAME} -Dfile.encoding=UTF-8 > system.log 2>&1 &

echo "shell腳本執行完畢"

           

點選儲存,再修改全局配置。

五. 修改全局配置

配置maven的settings檔案設定和 jdk 的路徑:

jenkins+springboot+github+maven自動化部署

配置 maven 的安裝路徑:

jenkins+springboot+github+maven自動化部署

儲存全局配置後,選擇立即建構:

jenkins+springboot+github+maven自動化部署

檢視控制台,第一次建構會慢一點,因為要下載下傳大量的 jar 包,建構成功日志如下:

jenkins+springboot+github+maven自動化部署

打開伺服器,通過

netstat -anp|grep 端口号

來擷取 PID, 之後查詢目前程序開始運作的時間,檢視服務是否成功啟動:

ps -p PID -o lstart

           

發現确實是jenkins剛剛建構完成啟動的時間就說明一切ok了:

jenkins+springboot+github+maven自動化部署
jenkins+springboot+github+maven自動化部署