一.安裝并配置Git
1. 安裝git
在linux伺服器上安裝git:
yum install git
檢視git是否安裝成功:
git version
能夠顯示版本号即說明安裝成功:
設定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是公鑰):
2. git證書配置
打開 https://github.com/settings/keys,進入SSH keys配置:
将公鑰中的内容複制到公鑰文本框中并儲存:
輸入以下指令,驗證git的配置是否正确:
ssh [email protected]
提示以下資訊即說明配置正确:
二. 安裝并配置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
顯示如下:
三. 将Linux注冊到Jenkins
在Jenkins中依次點選:系統管理 -> 節點管理 -> 建立節點:
節點的詳細配置:
其中的伺服器使用者名和密碼配置要選擇 Username with password:
還需要配置git的安裝路徑,可以通過
which git
指令來查詢:
儲存配置後,運作該節點,點選啟動代理按鈕,連接配接Linux伺服器。
四. 建立Jenkins任務
輸入任務名稱,建構maven項目:
配置限制項目的運作節點為目前節點:
配置項目路徑,私有項目需要配置使用者名和密碼:
配置maven打包指令:
clean package -Dmaven.test.skip=true
Post Steps 選擇第一個選項,編寫建構腳本:
腳本内容如下:
#!/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 的路徑:
配置 maven 的安裝路徑:
儲存全局配置後,選擇立即建構:
檢視控制台,第一次建構會慢一點,因為要下載下傳大量的 jar 包,建構成功日志如下:
打開伺服器,通過
netstat -anp|grep 端口号
來擷取 PID, 之後查詢目前程序開始運作的時間,檢視服務是否成功啟動:
ps -p PID -o lstart
發現确實是jenkins剛剛建構完成啟動的時間就說明一切ok了: