gitlab自動化部署方案

gitlab:代碼管理流程git

 

說明:web

 1.本方案依賴Jenkins插件Publish Over SSH , 在http://jenkins.puhuitech.cn上已經存在,無需在進行下載安裝和部署.api

 2.本方案依賴兩個我本身編寫的腳本,用來中止當前的服務,刪除原有的包,更新Jenkins構建好的包,重啓服務tomcat

 

配置:app

     1. 添加ssh鏈接信息. 具體位置:系統管理-->系統管理–>Publish Over SSHssh

     

看到Publish over SSH 後 繼續往下會看到全部已經配置的ssh信息 ,在publish over SSH 最後能夠添加一個新的ssh鏈接信息webapp

點擊增長會出現新的ssh鏈接信息,點擊高級能夠填寫username的password.這樣作比較簡單,配置好之後能夠Test Configuration測試配置,點擊保存ssh配置完畢gitlab

     2.配置構建後的步驟測試

           1. 進入構建工程後 點擊配置 ,進入配置頁面的末尾部分,能夠找到點擊增長構建後操做步驟按鈕ui

           選擇 Send build artifacts over SSH

            2.進入ssh配置頁面 選擇剛纔配置好的ssh信息,

           每一個基本配置項後面的問號能夠點擊,查看這個配置項目的具體含義及其用法,這裏就不在贅述了.針對於運管平臺的自動化部署,這裏分紅三個Transfer Set

                        ①   執行部署環境中的 stop.sh  關閉如今的鏈接.

                        ②   上傳Jenkins構建出來的war包

                        ③   執行部署環境中的deploy.sh 刪除原來的程序,解壓war包,啓動tomcat 完成部署  詳細配置見下圖:

                       點擊保存便可.

      3 運行構建:

            運行構建後,跟蹤日誌,查看是否部署成功.

      遇到的問題:

            在調研過程當中,一直包沒有傳上去,百度了一下,發現 Transfer Set 中的 Source File 的路徑寫錯了,請你們注意,若是這個地方寫錯了,是不會有異常出現的,可是包傳不上去.

            Remote prefix 的配置必需要存是Source File的路徑的子路徑,不然 會ERROR,包也傳不上去

      寫在結尾: 

            這個方案是基於SSH插件的方案,若是有更好的方案,請你們務必分享出來,共同進步.

deploy.sh

1 #!/bin/sh
2 sudo rm -rf /usr/local/tomcat/webapps/*
3 sudo mv /usr/tmp/phit-web.war /usr/local/tomcat/webapps
4 sudo unzip /usr/local/tomcat/webapps/phit-web.war -d /usr/local/tomcat/webapps/phit-web
5 sudo rm -f phit-web.war
6 cd /usr/local/tomcat/bin
7 sudo sh startup.sh

stop.sh

1 #!/bin/sh
2 kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}')
3 echo "phit-web has been stopped!"
相關文章
相關標籤/搜索