亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jenkins自動化腳本應用

發布時間:2020-07-07 02:53:05 來源:網絡 閱讀:205 作者:清風一明月 欄目:系統運維

vi project.sh

#!/bin/bash
#jenkins參數選項
time=date +%Y-%m-%d_%H-%M-%S
method=$1
group=$2
branch=$3

#后端tomcat服務ip地址組
ip_value(){
if [[ $group == "group1" ]];then
ip_list="192.168.1.20"
echo ${ip_list}
elif [[ $group == "group2" ]];then
ip_list="192.168.1.21"
echo ${ip_list}
ssh root@192.168.1.10 "echo "enable server web_port/192.168.1.20" | socat stdio /usr/local/src/haproxy/haproxy.sock"
ssh root@192.168.1.11 "echo "enable server web_port/192.168.1.20" | socat stdio /usr/local/src/haproxy/haproxy.sock"
elif [[ $group == "group3" ]];then
ip_list="192.168.1.20 192.168.1.21"
echo ${ip_list}
fi
}

#代碼先部署至Jenkins服務端
code_deploy(){
cd /data/jenkins/worker
rm -rf ./*
git clone -b $branch git@192.168.1.30:jie/web-page.git
}
#代碼測試
code_test(){
cd /data/jenkins/worker/web-page
cat > sonar-project.properties <<eof
sonar.projectKey=one123456
sonar.projectName=code-test
sonar.projectVersion=1.0
sonar.sources=./
sonar.language=php
sonar.sourceEncoding=UTF-8
eof
/data/scanner/sonar-scanner/bin/sonar-scanner
}

#代碼壓縮
code_compress(){
cd /data/jenkins/worker/
rm -f web-page/sonar-project.properties
tar czvf code-tar.gz web-page
}

#調度器剝離后端服務
haproxy_down(){
for ip in ${ip_list};do
echo $ip
ssh root@192.168.1.10 "echo "disable server web_port/${ip}"|socat stdio /usr/local/src/haproxy/haproxy.sock"
ssh root@192.168.1.11 "echo "disable server web_port/${ip}"|socat stdio /usr/local/src/haproxy/haproxy.sock"
done
}
#后端服務下線
backend_stop(){
for ip in ${ip_list};do
echo $ip
ssh root@$ip "source /etc/profile && /usr/local/src/tomcat/tomcat/bin/catalina.sh stop"
done
}

#部署代碼到后端服務站點
scp_backend(){
for ip in ${ip_list};do
echo $ip
scp /data/jenkins/worker/code-tar.gz root@${ip}:/usr/local/src/tomcat/tomcat/web-code/${time}-code-tar.gz
ssh root@${ip} "tar xvf /usr/local/src/tomcat/tomcat/web-code/${time}-code-tar.gz -C /usr/local/src/tomcat/tomcat/webapps"
done
}

#啟動后端服務
backend_start(){
for ip in ${ip_list};do
echo $ip
ssh root@$ip "source /etc/profile && /usr/local/src/tomcat/tomcat/bin/catalina.sh start"
sleep 6
done
}

#測試訪問后端服務
backend_test(){
for ip in ${ip_list};do
echo $ip
status_code=curl -I -s -m 6 -o /dev/null -w %{http_code} http://${ip}:8080
if [ ${status_code} -eq 200 ];then
echo "訪問測試成功,后端代碼部署成功"
if [[ $ip == "192.168.1.21" ]];then
ssh root@192.168.1.10 "echo "enable server web_port/${ip}" | socat stdio /usr/local/src/haproxy/haproxy.sock"
ssh root@192.168.1.11 "echo "enable server web_port/${ip}" | socat stdio /usr/local/src/haproxy/haproxy.sock"
fi
else
echo "訪問測試失敗,請重新部署代碼至后端服務"
fi
done
}

#代碼回滾
code_rollback(){
for ip in ${ip_list};do
echo $ip
last_version=ssh root@${ip} "ls -l -t /usr/local/src/tomcat/tomcat/web-code/" | awk 'NR==3{print $NF}'
ssh root@${ip} " tar xvf /usr/local/src/tomcat/tomcat/web-code/$last_version -C /usr/local/src/tomcat/tomcat/webapps"
done
echo "tomcat代碼回滾成功,回到上一版本,下一步進行訪問測試"
}

#主菜單命令
main(){
case $1 in
deploy)
ip_value;
code_deploy;
code_test;
code_compress;
haproxy_down;
backend_stop;
scp_backend;
backend_start;
backend_test;
;;
rollback)
ip_value;
haproxy_down;
backend_stop;
code_rollback;
backend_start;
backend_test;
;;
esac
}
main $1 $2 $3

#
#
vi deploy.sh

#!/bin/bash
#Jenkins工程構建通用TOMCAT部署腳本
#@author abcdocker
#@create_time 2017-08-19
#
#在Jenkins內配置部署單元參數
#參數格式:MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH MAVEN模塊名稱:需要部署的目標TOMCAT絕對路徑
#只有單個部署單元且沒有Maven子模塊時,模塊名稱參數可以沒有,參數格式為:TOMCAT_ABSOLUTE_PATH
#
#注意:
#在本部署腳本內會執行TOMCAT啟動腳本,為避免Jenkins在構建成功以后殺掉所有衍生的后臺進程,需要在Jenkins內配置全局環境變量 BUILD_ID 值為 allow_to_run_as_daemon
#
#

DEPLOY_TARGET_TOMCAT=$TOMCAT

#校驗部署參數,不能為空
if [ -z "$DEPLOY_TARGET_TOMCAT" ]
then
echo
echo 部署參數為空,部署失敗!
echo "#####################################################################"
echo
echo 單個部署單元參數格式:
echo MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH MAVEN模塊名稱:需要部署的目標TOMCAT絕對路徑
echo
echo 多個部署單元參數格式:(多個部署單元使用空格分割)
echo MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH
echo
echo "#####################################################################"
exit 1
fi

echo
echo 部署參數:${DEPLOY_TARGET_TOMCAT}

TOMCAT_ARR=${DEPLOY_TARGET_TOMCAT//;/ }
ARR=($TOMCAT_ARR)
ARR_LEN=${#ARR[*]}
echo 共 ${ARR_LEN} 個部署單元

i=1
#獲取Jenkins傳入的目標TOMCAT組
for T in $TOMCAT_ARR
do
echo
echo 開始 處理第 ${i} 個部署單元
echo 第一個部署單元:$T

#獲取目標TOMCAT的WAR路徑和TOMCATA的絕對路徑
TOMCAT_PARAM=(${T//:/ })
MODULE_NAME=${TOMCAT_PARAM[0]}
TARGET_TOMCAT_PATH=${TOMCAT_PARAM[1]}
WAR_PATH="$WORKSPACE/$MODULE_NAME/target/*.war"

echo 部署單元模塊名稱:"${MODULE_NAME}"
echo 部署WAR包路徑:"${WAR_PATH}"
echo 部署TOMCAT路徑:"${TARGET_TOMCAT_PATH}"

#需要考慮MAVEN單模塊下的部署問題
#if [ "${#ARR[*]}" -eq 1 -a -z "$TARGET_TOMCAT_PATH" ]
if [ "$ARR_LEN" -eq 1 -a -z "$TARGET_TOMCAT_PATH" ]
then
    #MAVEN過程沒有子模塊,單個部署單元
    TARGET_TOMCAT_PATH=$MODULE_NAME
MODULE_NAME="NULL"
fi

#校驗參數,WORKSPACE變量來自于Jenkins環境變量
if [ -z "$MODULE_NAME" -o ! -f $WAR_PATH ]
then
    echo 錯誤:MAVEN部署模塊名稱 參數為空 或 找不到WAR包!
    echo 部署失敗!
    exit 1
fi

if [ -z "$TARGET_TOMCAT_PATH" -o ! -d "$TARGET_TOMCAT_PATH" ]
then
    echo 錯誤:目標TOMCAT絕對路徑 參數為空 或 該TOMCAT目錄不存在!
    echo 部署失敗!
    exit 1
fi

echo 開始清理目標TOMCAT啟動進程...
TOMCAT_PID=`ps -ef |grep "$TARGET_TOMCAT_PATH" |grep  "start" |awk '{print $2}'`
if [ -n "$TOMCAT_PID" ]
then
    echo TOMCAT_${i},PID${TOMCAT_PID},正在結束該進程...
    kill -9 $TOMCAT_PID && echo PID${TOMCAT_PID} 已被干掉!
else
    echo TOMCAT_${i} 進程未啟動!
fi

echo 開始清理目標TOMCAT緩存...
rm -rf $TARGET_TOMCAT_PATH/webapps/*
rm -rf $TARGET_TOMCAT_PATH/logs/*
rm -rf $TARGET_TOMCAT_PATH/work/*

echo 開始部署WAR包...
cp -a $WAR_PATH $TARGET_TOMCAT_PATH/webapps/ROOT.war && echo WAR包部署完畢。

echo 開始啟動目標TOMCAT服務...
sleep 10
/bin/bash $TARGET_TOMCAT_PATH/bin/startup.sh

echo 開始配置web目錄的FTP權限...
#啟動過程會自動解壓WAR包,所以在這里需要等待WAR包解壓完成再調整目錄權限
sleep 30
chown -R vftpuser.vftpuser ${TARGET_TOMCAT_PATH}/webapps/ && echo 目錄權限配置完畢。

echo 部署成功
echo 完成 第 ${i} 個部署單元處理。
echo

((i++))

done

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延庆县| 武强县| 稻城县| 洛阳市| 安远县| 阜南县| 丰原市| 扶风县| 建阳市| 朝阳区| 灵璧县| 阳东县| 岳普湖县| 黄浦区| 康马县| 东辽县| 鹤峰县| 蒙山县| 梧州市| 合山市| 万年县| 定陶县| 绍兴县| 黄山市| 股票| 北川| 资中县| 平原县| 阿拉尔市| 马尔康县| 朝阳县| 平罗县| 三明市| 镇原县| 昌乐县| 泗洪县| 杂多县| 德州市| 班玛县| 临安市| 贵溪市|