git+maven+nexus實現測試機自動發佈項目

git+maven+nexus實現測試機自動發佈項目

當我們寫好代碼後,通常只在本地機器運行查看效果。如果想讓前端同事看到後臺服務效果,需要手工發佈到測試服務器。項目war包有90M,公司內網傳到測試服務器速度相當慢,比較折騰。

爲了偷懶,設置定時執行腳本:每隔15分鐘從gitlab拉取最新代碼,在測試機上編譯打包併發布。方便其他項目開發人員查看最新代碼的部署情況。

安裝和配置git

# 安裝git
yum install git

# 配置git
git config --global user.name "auto_public"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]"
cat ~/.ssh/id_rsa.pub

將id_rsa.pub的內容,添加到gitlab的SSH key
Profile Settings -> SSH key -> Add an SSH key

配置maven

任務腳本

vi sti_publish.sh

#!/bin/bash
cd /root/project/sti/
v=`git pull  2>&1`
# 判斷是否有更新
if [[ $v =~ "Already up-to-date." ]]
        then
            echo "Going to mvn clean package"
            mvn clean package && rm -f /gdtel/tomcat/webapps/sti.war
            rm -rf /gdtel/tomcat/webapps/sti && cp /root/project/sti/target/sti.war /gdtel/tomcat/webapps/
            echo "move to tomcat is ok"
fi

添加定時任務

安裝crontab

yum install vixie-cron
yum install crontabs

開啓crontab服務

service crond start //啓動服務

#用以下的方法啓動、關閉這個cron服務: 
service crond start //啓動服務 
service crond stop //關閉服務 
service crond restart //重啓服務 
service crond reload //重新載入配置

#查看crontab服務狀態:service crond status 
手動啓動crontab服務:service crond start

加入開機自動啓動: 
chkconfig –level 35 crond on

設置需要執行的腳本

  • 在命令行輸入: crontab -e 然後添加相應的任務,wq存盤退出。
  • 直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
crontab -e 

# 每間隔15分鐘運行腳本
*/15 * * * * /root/project/publish_sti.sh

設置完畢!

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