使用jenkins+svn自動部署java/vue項目

以前發佈代碼須要每次本地打包-->發到服務器-->重啓tomcat等一系列操做,服務器多了會很繁瑣,使用jenkins能夠自動部署和統一管理,解放人力,擠出不少喝茶時間。
一、下載jenkins.war
官網地址 http://jenkins-ci.org/
下載最新版本
http://mirrors.jenkins-ci.org...
二、把下載的war包放到到服務器tomcat的webapps目錄下,啓動tomcat
三、啓動成功後log會打印一個UUID密碼,複製,登錄時用
四、輸入tomact地址,進入jenkins首頁,會提示自動安裝須要的插件(若是不能在線安裝,須要去本身下載以後上傳
插件下載地址 http://updates.jenkins-ci.org...
5、建立項目.
  首頁點擊新建item clipboard.png
建立一個自由風格項目,自定義一個名稱projectName,確認
clipboard.pngvue

六、配置svn,點擊add 添加本身的svn帳戶java

clipboard.png

七、配置觸發器(指定時間自動部署)web

不須要自動觸發的同窗可略過此步驟,以後手動點擊`當即構建`按鈕便可
05 10 * * * 爲cron表達式,表示天天上午10:05

clipboard.png

八、設置execute shell(部署時執行的腳本)
這裏用java項目舉例shell

BUILD_ID=DONTKILLME
# ProjectName是剛纔**第5步**中填入的名稱,jenkins默認工做空間爲/root/.jenkins/workspace
cd /root/.jenkins/workspace/projectName/
# 將代碼打包
mvn package
# 將打包後的代碼移到服務器的tomcat目錄下,這裏我本身寫了一個deploy.sh去處理copy-解壓-備份-重啓tomcat等一系列操做
cd /root/.jenkins/workspace/projectName/target
mv projectName.war /home/shibo && deploy.sh

以上shell腳本只是舉例,具體可根據本身需求更改,好比vue的話就將mvn package改成npm run build......npm

到這就能夠保存了,而後測試一下是否能夠正常使用。首頁點擊制定項目下三角,點擊當即構建便可。tomcat

clipboard.png


下面是我在搭建的時候遇到的一些問題,僅供參考:
一、第一次登陸後下線,第二次不能用user帳戶登錄
解決方法:去/root/.jenkins/secrets下找到initialAdminPassword ,複製密碼,用admin登錄
二、maven分佈式子項目沒有web.xml,致使mvn打包報錯
解決方法:在pom.xml中添加服務器

<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

三、execute shell中執行deploy.sh腳本時,有用到shutdown.shstartup.sh兩個命令,
發現tomcat關閉後,startup不能自動啓動
緣由是execute會自動kill掉tomcat
解決方法:在execute shell第一行添加BUILD_ID=DONTKILLME
四、execute shell時,有時有一些不是很重要的腳本命令出錯,咱們須要忽略他們,繼續執行,
須要點開 高級-->設置Exit code to set build unstable = 1app

相關文章
相關標籤/搜索