關於jenkins的部署以及任務創建

部署jenkins

在官網下載war包

修改主目錄

最好安裝(啓動)之前修改環境文件(修改jenkins的工作空間目錄);因爲默認的工作空間目錄根據網上說的空間好像有限

vim /etc/profile
export JENKINS_HOME=/home/jenkins_home
source  /etc/profile

然後啓動war包

##單獨啓動war包
java -jar jenkins.war
##單獨啓動war包 並指定端口
java -jar jenkins.war --httpPort=7788
##後臺啓動war包 並指定端口
nohup java -jar jenkins.war --httpPort=7788 &

<font color=red>注意:如果想通過nginx代理jenkins的話 會出現一個問題;以上這種啓動會導致直接代理後因爲找不到項目名稱 而無法代理成功</font>

location /jenkins/ {
	proxy_pass  http://127.0.0.1:7788/;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }

需要將啓動命令改爲:

nohup java -jar /usr/local/tools/jenkins/jenkins.war --httpPort=7788 --prefix=/jenkins &

然後將nginx代理改爲:

location /jenkins/ {
	proxy_pass  http://127.0.0.1:7788/jenkins/;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }

啓動後,啓動日誌或者登陸界面都會告訴 管理員密碼所在路徑

輸入密碼後

安裝推薦的插件時 需要一定的時間 等待

創建任務

任務大致分爲:General、源碼管理、構建觸發器、構建環境、構建構建後操作

jenkins會根據創建的任務在 工作空間生成不同的 目錄:

第一步:General

1、設置丟棄舊的構建

2、設置參數

參數定義 需要下載插件

設置了git參數 和 環境相關的參數

第二步:源碼管理

主要是設置你的倉庫地址以及一個人的git賬號,設置分支,源碼庫瀏覽器和檢測出子目錄等

jenkins會在工作空間對應的任務目錄下面拉取項目源碼

第三步:構建觸發器

第四步:構建環境

第五步:構建

jenkins shell腳本 打包發佈腳本源代碼

注意下面代碼塊最下方

nohup java -jar /data/****/${FILENAME}.jar --spring.profiles.active=prod >> ${LOGS}/${FILENAME}-run.log 2>&1 &

由於前面在General設置了環境參數的 所以此處代碼可以改爲

<font color=red>spring.profiles.active=prod  改爲  spring.profiles.active=$PROFILE</font>

nohup java -jar /data/****/${FILENAME}.jar --spring.profiles.active=$PROFILE >> ${LOGS}/${FILENAME}-run.log 2>&1 &
#!/bin/bash
##讓環境配置文件生效
source /etc/profile
##jenkins的工作空間(項目存放路徑)
WORKSPACE=/home/jenkins_home/workspace/****_test/****
##項目根目錄
PORDUCT=${WORKSPACE}/evoucher
##jar包存放目錄
TEST=${PORDUCT}/target
##maven打包編譯日誌存放目錄
LOGS=/usr/local/project/****Test/javaCode/logs
##定義文件名稱
FILENAME=evoucher_test
##判斷當前目錄是否存在,不存在則mkdir  爲了確保腳本目錄相關不報錯
if [ ! -d "/home/jenkins_home/workspace/****_test/****" ];then
    mkdir /home/jenkins_home/workspace/****_test/****
    if [ ! -d "/usr/local/project/****Test/javaCode/logs" ];then
        mkdir /usr/local/project/****Test/javaCode/logs
    fi
fi
## 進入項目根目錄
cd ${PORDUCT}
## 進行maven打包
mvn clean package install -P product -Dmaven.test.skip=true >> ${LOGS}/${FILENAME}-build.log


#!/bin/bash
##讓環境配置文件生效
source /etc/profile
##項目啓動日誌存放目錄
LOGS=/usr/local/project/****Test/javaCode/logs
##文件名稱
FILENAME=evoucher_test
##查詢當前項目運行的進程id
PID=$(ps -ef | grep 'evoucher_test.jar' | grep -v grep | awk '{ print $2 }')
##jenkins的工作空間(項目存放路徑)
WORKSPACE=/home/jenkins_home/workspace/****_test/****
##項目根目錄
PORDUCT=${WORKSPACE}/evoucher
##jar存放目錄
TEST=${PORDUCT}/target
##判斷當前目錄是否存在,不存在則mkdir  爲了確保腳本目錄相關不報錯
if [ ! -d "/usr/local/project/****Test/javaCode/jar" ];then
	mkdir /usr/local/project/****Test/javaCode/jar
fi
##判斷jar存放文件是否存在,存在則刪除;不存在則提示!
if [ ! -f "/usr/local/project/****Test/javaCode/jar/${FILENAME}.jar" ];then
	echo "/usr/local/project/****Test/javaCode/jar/${FILENAME}.jar文件不存在"
else
  echo "刪除文件/usr/local/project/****Test/javaCode/jar/${FILENAME}.jar"
	rm -d /usr/local/project/****Test/javaCode/jar/${FILENAME}.jar
fi

echo "拷貝文件至/usr/local/project/****Test/javaCode/jar/${FILENAME}.jar"
##將問卷拷貝到制定 目錄下並改名 (根據自己需求調整)
cp ${TEST}/evoucher.jar /usr/local/project/****Test/javaCode/jar/${FILENAME}.jar
##判斷是否有運行的項目進程,有則殺死改進程;並刪除運行日誌
if [ -z "$PID" ];then
    echo "尚未存在歷史項目${FILENAME}"
else
    echo "關閉項目${FILENAME}"
    kill -9 ${PID}
    rm -rf ${LOGS}/${FILENAME}-run.log
fi


echo "啓動項目${FILENAME}"
##啓動項目 根據選擇環境參數“$PROFILE” 並記錄日誌信息
BUILD_ID=dontKillMe 
nohup java -jar  /usr/local/project/****``Test/javaCode/jar/${FILENAME}.jar --spring.profiles.active=$PROFILE >> ${LOGS}/${FILENAME}-run.log 2>&1 &

第六步:構建後操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章