2012-09-01 40 views
0

我爲shell腳本的小型持續集成做了一個臨時解決方案。 它從svn更新,然後將文件複製到網站的根目錄。 所以它看起來像這樣與shell腳本的手工持續集成

cd ... 

update svn 

cp -R ... ... 

然後把它放在crontab中。那麼,它適用於臨時工。解決方案,但它會想進行一些改進,並定義svn已更改(新版本出現),只有在這種情況下複製文件(以及與每分鐘複製文件連接使服務器工作更慢)。

但是我的Linux :(

所以現在的問題是平均用戶: 如何定義,使用bash腳本,這SVN有了新的提交,只有在這種情況下做出的更新和其他的東西,像複製文件

回答

2

你可以在目錄中使用'svn info'(並使用awk | grep |你最喜歡的工具)來提取你檢出的版本號,對你複製的位置做同樣的處理。如果結帳目錄中的版本號高於目的地目錄中的版本號,則複製。

假設您複製了包括.svn目錄在內的所有內容。

如果你排除它們,那麼你應該'svn info'在你更新之前,並且再次之後,並且比較兩個修訂版。

-1

停止。

爲什麼在世界上你會這樣做?

隨着八十個完全免費,超級簡單的安裝,CI工具那裏,爲什麼在世界上你會開始與shell腳本和cron一起黑客自己?

除非您正在尋找腳本/ cron技能,並且希望將自己的CI構建爲有趣的小場景來玩,否則您只是在這裏浪費時間。