linux下實現svn自動拉取程式碼併發布
正常在釋出專案的時候是將專案打包成war包,並將程式碼上傳到伺服器中,執行伺服器,整個過程較為複雜,在測試過程中會涉及到多次程式碼的修改,重新打包釋出,這樣就很不友好,接下來就簡單介紹一種方法,只要執行一個shell指令碼檔案就能把整個過程全部搞定。
第一步:安裝svn,伺服器中一定要安裝svn,應為在更新程式碼的時候會用到svn相關的命令。具體安裝過程看我的另一篇部落格http://blog.csdn.net/millery22/article/details/51218491。
第二步:安裝maven,同上一步一樣,在執行shell指令碼的過程中需要用到maven相關的命令,因為專案採用的是maven專案,具體安裝過程請參看我的另一篇部落格http://blog.csdn.net/millery22/article/details/51322497。
第三步:上面個步驟完成,就開始實現功能了。
- [[email protected] ~]# cd /usr/local/src #進入src目錄
- [[email protected] src]# mkdir maven #建立maven目錄
- [[email protected] src]# cd maven #進入maven目錄
- [[email protected] maven]# svnco svn://www.minuor.com(ip或者域名)/minuor/trunk./ #將svn指定位置的程式碼檢出到當前的目錄下
-
[[email protected]
- [[email protected] maven]# cd minuor #進入其中一個專案中
- [[email protected] minuor]# svn up #表示更新程式碼,讓當前目錄下是當前專案的最新程式碼
- [[email protected] maven]# mvn -U clean install #編譯打包專案,打包結束後或在當前目錄下多出一個target目錄,這個目錄中就存在打包好的war包
到這裡程式碼的拉取和編譯打包過程就完成了,這裡就可以將war包釋出到tomcat伺服器中運行了。但是這個不是我們想要的,過程還是挺多的,但是此時我們可以將這些步驟寫在shell指令碼中,只要執行一次shell指令碼就可以完成了。
shell指令碼內容如下:
- #!/bin/sh #這是shell指令碼的頭,必須要
- echo">>>>>>>>>>>>>>>>>>>>>>>>update code"
- cd /usr/local/src/maven/minuor/ #進入專案程式碼所在位置
- svn up #執行更新
- mvn -U clean install #編譯打包
- echo">>>>>>>>>>>>>>>>>>>>>>>>stop tomcat"
- /minuor/tomcat/minuor/bin/catalina.shstop #這裡是停止tomcat
- sleep 5s
- echo">>>>>>>>>>>>>>>>>>>>>>>>move file"
- rm -rf /minuor/tomcat/minuor/webapps/* #移除tomcat內webapps下的所有內容
- cp /usr/local/src/maven/minuor/target/minuor-1.0.0.war/minuor/tomcat/minuor/webapps/ROOT.war #將打包編譯好的專案移動到tomcat內webapps下,並改名為ROOT.war
- echo">>>>>>>>>>>>>>>>>>>>>>>>start tomcat"
- /minuor/tomcat/minuor/bin/catalina.shstart #啟動tomcat
- tailf/minuor/tomcat/minuor/logs/catalina.out #輸出tomcat啟動日誌
注意:
1、 在使用上面的指令碼時請去除後面的註釋
2、 echo表示輸出內容,相當於在控制檯列印日誌
3、 執行指令碼之前給指令碼檔案755許可權,命令如下:
- [[email protected] maven]# chmod 755 shell.sh
4、 執行指令碼檔案命令是./shell.sh
5、 如果這個指令碼檔案是在Windows系統下編輯好上傳到svn下的,請注意檔案的型別,防止執行不了。
檢視和修改檔案型別(假設shell指令碼名稱為shell.sh):
- [[email protected] maven]# vi shell.sh #檢視檔案
:set ff #看出來的型別是不是非unix型別
:set ff=unix #設定檔案型別為unix型別
儲存指令碼檔案,重新執行指令碼檔案
shell指令碼最好放置在maven目錄下,防止出現問題。相關推薦
linux下實現svn自動拉取程式碼併發布
正常在釋出專案的時候是將專案打包成war包,並將程式碼上傳到伺服器中,執行伺服器,整個過程較為複雜,在測試過程中會涉及到多次程式碼的修改,重新打包釋出,這樣就很不友好,接下來就簡單介紹一種方法,只要執行一個shell指令碼檔案就能把整個過程全部搞定。 第一步:安裝svn
linux下實現ssh自動登入遠端伺服器
前言:開發工作中,由於有時需要通過ssh登入遠端伺服器上去,每次都要輸入密碼,密碼很難記,感覺很麻煩,於是上網搜了通過 ssh自動登入遠端伺服器上去,從而免去了每次都要輸入密碼的困擾。 系統說明:本地機器:Redhat遠端機器:Redhat 步驟: A.本地機器需要做的修
linux下實現sftp自動登入。
今天幫之前同事寫一個sftp自動上傳的指令碼,因為sftp無法匿名登入,因此使用sftp時,每次都需要輸入伺服器密碼,無法進行自動上傳和下載檔案,其中一種方法可以使用lftp這個就不在詳細介紹了,現在介紹另外一種方法。ssh驗證金鑰的方式(不知道github 是不是這樣)。
linux下構建svn伺服器並實現專案自動部署
在Linux系統中搭建svn服務所需要用到的軟體叫做subversion,可以通過yum來進行安裝. svn服務是為了實現協同工作,即一個團隊公眾開發一個專案而不導致程式碼混亂,不會出現今天我修改的程式碼在不通知同事的情況下又被他修改了.
Windows下Jenkins自動拉取編譯SVN專案併發布Tomcat和Jboss
本文主要記錄一些重要的配置,忽略Jenkins的安裝。配置主要分為三個重要部分: 1、外掛配置 主要涉及3個外掛的安裝。 Deploy to container Plugin:This plugin takes a war/ear
利用 Webhooks 實現程式碼的自動拉取
很長時間沒有更新部落格了,前段時間一直都在忙著找工作,最近才穩定下來,後面有機會的話再說說找工作的經歷。 以前做完一個專案,要放到伺服器上執行,最開始使用 Xftp 將程式碼傳上去,中間如果需要修改程式碼,都是在本地除錯完再傳到伺服器,覆蓋原來的檔案生效,非常
ubuntu下關於Git版本過高,拉取程式碼的要求
在Ubuntu是更新Git時,會自動更新到2.17。但是在Git大於2.16之後會報 ssh variant 'simple' does not support setting port 錯誤 Git更新語句 sudo add-apt-repository ppa:git-core/ppa
linux下操作svn,實現根據時間段檢視某個指定使用者提交的記錄
svn log -v -r {2018-9-10}:{2018-9-25} | sed -n '/danni/,/--$/ p' 其中: -r {2018-9-10}:{2018-9-25}:通過-r來指定時間段 -v:表示顯示詳細資訊 sed -n '/danni/,/--$/
Linux下實現 MySQL 數據庫定時自動備份
用戶 itl 安裝 centos fin nta 腳本 apach 例子 Linux 下如何實現 MySQL 數據庫定時自動備份? 概述
linux下安裝svn服務端,並配置自動更新專案到web目錄
①安裝svn服務端 [[email protected] ~]# yum install svn ②建立服務端倉庫,並設定許可權 [[email protected] ~]# mkdir -p /var/svn/test [[email protect
Linux下Tomcat日誌自動定時打包完美實現
一、場景 1、環境 CentOS 7.0,Tomcat 8.0.33 ,(jdk-1.8.0_171) 2、目的 隨著時間推移,tomcat下的日誌檔案catalina.out越來越大,當檢視日誌時效率低下。所以,為了方便日誌的查閱,將catalina.out
Linux 下實現 MySQL 資料庫定時自動備份
備份是什麼? 為什麼要備份? 容災方案建設 儲存介質 光碟 磁帶 硬碟&n
在Eclipse上使用SVN,安裝、提交、拉取程式碼、解決衝突等操作---------健康之家
一,什麼是SVN ? svn是一種版本控制軟體,主要作用就是用於公司的專案管理。這裡先大概說一下svn的使用流程。 首先由專案經理在SVN伺服器上建立SVN倉庫(放專案的地方),併為各個專案成員註冊對應的賬號。在開始一個專案時,一般專案經理
碼雲配置webhooks自動觸發拉取程式碼
webhooks的使用 碼雲和github的鉤子叫webhooks 每次您 push 程式碼後,都會給遠端 HTTP URL 傳送一個 POST 請求 碼雲專案管理頁面的webhooks設定: http://UserID:[email protected]_url/job/project_name/
Git 專案免密拉取程式碼-自動儲存賬號密碼
編輯git檔案 進入git專案根目錄: 1、linux : vi .git/config 於檔案末尾新增內容,並儲存 [credential] helper = store
Linux下實現自動部署jar包
Git+ Github + Maven + Linux實現自動部署jar包 #拉取程式碼 echo pull project cd /code/weixin-serv
Linux下實現U盤、SD卡自動掛載功能 .
在 Linux中我們經常用到U盤、SD卡的掛載問題,每次都手動掛載或解除安裝非常麻煩,我們可以採取以下方法實現自動掛載或解除安裝U盤、SD卡 1、首先在/etc/init.d/rsC中加入以下語句 echo /sbin/mdev > /proc/sys/kernel/
如何在Eclipse上使用SVN,安裝、提交、拉取程式碼、解決衝突等操作
將SVN整合到Eclpise 第一種方法 第一種方法是通過zip檔案在Eclipse中安裝(本外掛適用Eclipse 4.5以下版本,4.6未驗證.4.7上不能使用) svn外掛(中文版)下載地址:點選開啟連結 在選單欄找到最右的Help,選擇安裝新軟體 :
一鍵完成android從svn拉取程式碼編譯打包
記錄一下這兩天研究的東西-----在windows一鍵完成拉取svn上的安卓原始碼並自動打包。 準備:ant打包工具,android sdk,以及ant拉取程式碼所依賴的一個jar包svnant.jar,放到ant目錄下的lib目錄下即可。 ant是apache的一個編譯工
linux環境下實現svn伺服器支援http協議
經過兩天的努力,svn終於支援http協議來訪問了,在此做個總結,收集一下過程中的錯誤,作為後來人的前車之鑑。 一 前提: 現有的svn已經支援svn協議,並且版本庫、賬戶和許可權已設定好。這些步驟就不說了,詳情請檢視小編另一篇播客()效果如下圖: