2012-11-13 38 views
2

我需要爲我的Jenkins構建作業工作區簽出最新的SVN標籤。帶有標籤我指的是複製的文件夾,通常用於創建里程碑。如何在Jenkins中獲得最新的SVN標籤

我從一些stackoverflow問題閱讀,可以得到最新的例如與

"svn ls .../path/to/repo/tags | tail -n 1" 

,但我不認爲這可以給詹金斯SCM領域。我相信詹金斯需要SVN中的確切位置。有任何想法嗎?我會相信這實際上是在大型項目中一個相當普遍的要求....

回答

3

建議答案是上的假設幾乎正確

  • 增量字母數字永久命名方案使用
  • BASE路徑加入已經導致管(LS輸出相對路徑到標籤/)

的如果上述條件是沒有兌現,你必須使用略有不同的命令,有些一塊業務邏輯的「最新標籤有最高的版本號」

>svn ls -v http://mayorat.ursinecorner.ru:8088/svn/Hello/tags/ 
    22 lazybadg    июл 17 2010 ./ 
    11 lazybadg    июл 17 2010 1.0/ 
    22 lazybadg    июл 17 2010 1.1/ 

輸出這個 LS可以gawk'ed,最新的修訂版中發現在$ 1,所需標籤的相對路徑爲$ 6(或$ 5,我懶測試)

+0

嘿懶惰獾,謝謝你的答案。我相信這個腳本是可行的,但問題是如何將它實現成jenkins。不能在Jenkins SCM字段中添加該行,並且我還沒有找到關於如何「動態」執行該操作的章節 – user1340582

+0

@ user1340582:如果您可以在Jenkins任務內執行外部程序,那麼shell-script | bat-file可以(我對Jenkins一無所知) –

+1

我也會建議忽略Jenkins SCM字段,而是使用腳本作爲第一個構建步驟 – MOnsDaR

相關問題