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
設置完畢!