2011-12-13 99 views
0

我每個人,我使用Eclipse,Subclipse和ANT。我想生成一個構建清單,其中包含已經從回購庫中更改,添加,更新和刪除的文件(以及當前系統中的單個版本號)。螞蟻部署Windows生成清單SVN

<propertyfile file="${dist.dir}\deploymentManifest.txt" 
     comment="This file is automatically generated - DO NOT EDIT">   
     <entry key="buildtime" value="${builtat}"/> 
     <entry key="build" value="${svnversion}"/> 
     <entry key="version" value="${version}"/> 
     <entry key="systemLocation" value="${directory/filename.ext}"/> 
    </propertyfile> 

如何從Eclipse中的文件中剝離該信息?或者我如何使用ANY檢索這些信息?

感謝, 弗蘭克

回答

1

好,${buildtat}可以從螞蟻的<tstamp>任務作出。其他人可以通過執行svn log --xml然後使用<xmlproperties>任務產生的XML來解析。馬上我的頭頂部(即沒有錯誤檢查):

<!-- Gets the Time Stamp --> 
<tstamp> 
    <format property="buildtat" pattern="MM/dd/yyyy HH:MM"/> 
</tstamp> 

<!-- Generates the revision information you need--> 
<exec 
    executable="svn" 
    output="${svn.log.file}"> 
    <arg line="log --xml -rHEAD/> 
</exec> 

<!-- Reads that information into a Property --> 

<xmlproperty file="${svn.log.file}"/> 

<echo message="Subversion Rev: ${log.logentry{revision}}"/> 

不過,我建議你看一個持續構建系統,如Jenkins。無論何時在Subversion版本庫中進行更改,Jenkins都會選擇更改並自動進行新版本構建。這不僅可以讓您驗證您的更改不會破壞您的構建,但Jenkins可以像運行JUnit測試一樣執行其他操作。然後Jenkins將您的構建和測試結果以及整個構建日誌存儲在一個易於訪問的HTML頁面中。

Jenkins會爲你工作的地方在於Jenkins會自動公開諸如Subversion Revision這樣的東西,作爲構建過程的一部分。您可以獲取Subversion修訂版,Jenkins內部版本號,Jenkins項目的名稱以及許多其他作爲環境變量的內容。然後,你可以這樣做:

<property env="env."/> 

<propertyfile file="${dist.dir}\deploymentManifest.txt" 
    comment="This file is automatically generated - DO NOT EDIT">   
    <entry key="buildtime" value="${env.BUILD_ID}"/> 
    <entry key="build" value="${env.SVN_REVISION}"/> 
    <entry key="version" value="${BUILD_NUMBER}"/> 
    <entry key="systemLocation" value="${directory/filename.ext}"/> 
</propertyfile> 

看看詹金斯。這很容易理解和使用。

它應該需要大約5分鐘的時間下載,也許10分鐘就可以在Linux系統上啓動並運行。 Windows更復雜,可能需要15到20分鐘才能啓動並運行。您現在可以在桌面系統上運行它,並使用它。

它應該需要你花半個小時才能找出如何設置一個項目,每當有人提交時自動生成項目。

詹金斯是基於Web的,但自帶輕量級基於Web的應用程序引擎。所有你需要的是Java 1.6來運行它。 (而且,如果你使用Eclipse,你應該已經有了)。

+0

謝謝。我會研究它:) –