jenkins與git結合,自動部署


一、jenkins是一個持續集成和持續部署的一個工具:

二、原理如下圖所示:

jenkin是一個從git拉代碼,並且自動build,拷貝到指定的服務器上,並且部署。的一款工具

下面是jenkin創建一個新項目的流程圖解



如果要是jenkins從遠程拉代碼,需要配置ssh key

先在你的本地電腦安裝git ,運行git hash

ssh-keygen -t rsa -C "your_account"


可以是你的郵箱,執行完之後,會生成一個公鑰和私鑰


私鑰複製到jenkins


公鑰放在你需要git上


然後保存下就可以了。ssh-key就配置好了,這樣jenkins就會自動去git上拉代碼了


腳本命令:


task:--refresh-dependencies clean build -Penv=dev -x test


#cd /home/app/.jenkins/jobs/customer_service135.97/workspace


#sh ~/gradle-2.14.1/bin/gradle clean build -Penv=dev -x test


TARGET_SERVER1="172.16.134.65"
REMOTE_PATH=/home/app/sxpservice
REMOTE_APP_PATH=/home/app/sxpservice/app


WAR_PATH=.
PROJECT_NAME=merch-front-service
#####
for ip in $TARGET_SERVER1
do
      PID=$(ssh app@$ip "ps auxw | grep $PROJECT_NAME|grep app | grep -v grep | awk '{print \$2}'") 
      if [ "$PID" != '' ]
        then
        echo $PID    
          ssh app@${ip} "kill -9 $PID"
          #ssh app@${ip}  sh ${REMOTE_PATH}/stop.sh#
      fi  
      
      ssh app@${ip} "rm -rf ${REMOTE_APP_PATH}/*"
      scp ./${PROJECT_NAME}/build/libs/* app@${ip}:${REMOTE_APP_PATH}/
      ssh app@${ip} "export LC_ALL=en_US.UTF-8 && locale && source /home/app/.bash_profile && cd ${REMOTE_PATH}/bin && sh start.sh"
done

發佈了39 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章