2013-04-10 156 views
2

我有一堆項目具有足夠的依賴性,想點擊'Perform Maven Release'並在每個從屬人員上自動輸入我的SVN用戶名/密碼,自下而上在濃霧中拖延。Jenkins/Maven發佈插件(級聯發佈)

因此理想情況下,我只需要去Jenkins的頂層項目中,單擊一個「mvn release:prepare」按鈕,然後發佈所有依賴關係和項目本身。

我的設置是Maven3,SVN,詹金斯Artifactory的...

是否有一種方式來運行「MVN發佈:準備」從詹金斯,肚裏並釋放家屬?有沒有插件?

如果我嘗試在本地運行此命令,我有一個錯誤:它很高興發佈所有依賴關係,但是當涉及到釋放主項目時,它在Artifactory中查找已發佈的依賴關係jar。但他們當然不在那裏 - 他們在我的本地回購中,但不在artifactory的回購中。我寧願在構建服務器上執行它,因爲它不會有任何環境特性。

但是,如果沒有jenkins插件,我怎麼可以在本地發佈,並且仍然有Artifactory/Jenkins注意到最新版本?

回答

0

[我的答案更新,以提供更好的方法]

你已經拿到了M2Release pluginmaven-versions plugin。我不認爲你可以輕鬆做到你想做的事。所以,我會寫一個腳本會像這樣:

  • 版本C(MVN釋放)
  • 更新C版在一個& B(MVN版本:用下一個版本)
  • 發行B( MVN釋放)
  • 更新B版中的A(MVN版本:使用-下一版本)
  • 發行A(MVN釋放)
+1

是的,我已經得到了最新版本的插件,但它不會做級聯版本。如果您有A取決於B取決於C,則您必須點擊C上的'執行Maven發佈',然後單擊B,然後單擊A.如果首先嚐試A,則表示「由於未發佈依賴關係而無法發佈項目「 – djb 2013-04-11 13:17:27

0

我也一直在尋找到這一點。以前我曾經使用Ruby腳本,然後使用REST爲Jenkins推送構建。當然,設置每個新項目都有點痛苦,但它確實有效。保持它是一場噩夢。

我偶然發現了這一天。我還沒有實現它,但這聽起來很有希望。當然,我正在解決的問題的一部分是父母擁有每個項目的所有依賴關係(呃)。

這裏是鏈接設置的問題,並討論:

https://groups.google.com/forum/#!msg/jenkinsci-users/4OZsB9LV6nE/YsyqhuMcZQgJ

下面是實際插件的鏈接。可能值得一試。

https://github.com/barchart/barchart-jenkins-cascade-plugin/wiki