首頁 > 軟體

Jenkins設定maven專案之打包、部署、釋出的全過程

2022-02-14 13:01:19

Jenkins和專案在兩臺伺服器上

Jenkins的下載安裝部署省略,可自行上官網。

1.安裝maven外掛

完成後,會出現“success”,並且勾選“安裝完成後重啟Jenkins(空閒時)”

2.部署有Jenkins的伺服器上,下載maven,設定環境變數,我在opt/目錄下放著。

執行命令:

下載:
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解壓:
tar -zxvf apache-maven-3.6.3-bin.tar.gz
進入:
cd  apache-maven-3.6.3
獲取路徑:
pwd
 
設定環境變數:
vim  /etc/profile
=====================================================
組態檔新增下面兩行內容:
export MAVEN_HOME=自己maven安裝目錄,我的是:/opt/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
重新整理環境變數:
source /etc/profile
檢視maven版本:
mvn -version

Jenkins設定maven

設定maven,setting.xml

進入到maven目錄下的conf目錄
編輯:
vim settings.xml
 
新增以下內容
<!--本地倉庫-->          
  <localRepository>/data/software/repository</localRepository>
  
  <mirrors>
    <!--阿里雲映象-->
    <mirror>
      <id>aliyun-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>

3.Jenkins設定jdk、Git

設定maven進去的路徑一樣。

注意:都需要取消自動下載。

4.下面開始真正的部署maven專案:

點選“儲存”後,去構建。

第一次構建可能時間比較長,需要下載所依賴的jar包

5.兩臺伺服器之間開通免密傳輸。

需要通過指令碼將該jar包傳輸到另一個伺服器指定的目錄下。將下面兩個start.sh、stop.sh檔案和jar包放在同一目錄下,也可以換到其他路徑,如需換到其他路徑,下面兩個指令碼的部分路徑內容需自行修改!!!

start.sh

#!/bin/bash
set -e #任何命令出錯就退出
set -o pipefail
 
APP_DIR=
PROJECT_NAME=專案名字
nohup java  -jar ${PROJECT_NAME}.jar > ${PROJECT_NAME}.log &
start_ok=false
if [[ $? = 0 ]];then
        sleep 3
        tail -n 10 ${PROJECT_NAME}.log
        sleep 5
        tail -n 50 ${PROJECT_NAME}.log
fi
aaa=`grep "Started" ${PROJECT_NAME}.log  | awk '{print $1}'`
if [[ -n "${aaa}" ]];then
    echo "app started ok"
    exit 0
else
    echo "app started error"
    exit 1

stop.sh

#!/bin/bash
 
PROJECT_NAME=專案名
ps aux | grep ${PROJECT_NAME} | grep -v "grep" | awk '{print "kill -9 "$2}' | sh

6.執行指令碼

將以下指令碼寫入上圖中,點選“儲存”,然後點選構建,就完成了Jenkins的設定部署。

#!/bin/bash 
echo "local-platform"
DIR="/home/web/container/container"
projectName="local-platform"
echo "待部署的應用伺服器,可多臺"
server_ips="192.168.6.155"
for server_ip in ${server_ips[@]}
do
echo "拷貝jar包到目標伺服器的tmp目錄"
scp -q -oStrictHostKeyChecking=no ${WORKSPACE}/target/*.jar root@${server_ip}:${DIR}/${projectName}.jar
echo "ssh遠端連線進行釋出操作"
ssh -q -oStrictHostKeyChecking=no root@${server_ip} <<EOF
cd  ${DIR}
sh  stop.sh
sh  start.sh
EOF
done
echo "success"

到此這篇關於Jenkins設定maven專案,打包、部署、釋出的文章就介紹到這了,更多相關Jenkins設定maven專案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com