2011-06-03 62 views
0

我們有一個.NET Jenkins安裝構建了一些.NET應用程序。這些應用程序包括一堆*.exe*.exe.config文件。現在,我將該應用程序另存爲包含所有* .exe,所需的DLL和*.xml文件以及默認*.exe.config文件的zip文件。缺省值*.exe.config從Subversion存儲庫中的內容中獲取它們的值,並針對生產環境進行調整。在特定的Jenkins構建版本上修改已保存的構件以供部署

*.exe.config文件包含數據庫名稱,數據庫服務器,服務器名稱等。這些文件對於生產環境是正確的,但不適用於UAT,QA或開發人員測試。

我想要做的是有一些生成後任務,其中用戶可以指定特定的構建,以及這些特定參數的值隨環境的不同而不同。如果我得到了這個,我可以運行一個解壓zip文件的Nant或Ant任務,壓縮文件並將其部署(我的最終目標),或者至少將其壓縮並放到用戶可以訪問的地方。

我知道有一個參數化的版本,我知道有批量任務,但我需要兩者的組合。那可能嗎?

回答

0

它不夠優雅,但我認爲你可以實現你想要的獨立構建。您需要:

  1. 一個Parameterized Build(你知道)
  2. A way to access artifacts from another build

考慮到這些作品,你應該能夠創建一個參數構建不正是你的描述:抓住構建工件,調整配置並將其提供給用戶。魔鬼當然是在細節中,例如讓用戶「選擇正確的構建」變得很容易。


更新(現在我已經瞭解到批任務 - 謝謝!):我不明白的方式進行參數化批量任務就像你問。我猜測,變量的組合使得定義一堆不同的批處理任務變得極其困難。您可以爲通用版本和測試配置定義一些批處理任務,併爲更多用戶特定的配置提供「munger」程序。

+1

我實際上決定去推廣插件。這使我可以設置我可以在Ant腳本中使用的參數並執行另一個構建。這似乎是我需要的。我可以將保存的工件解壓縮,將配置文件壓碎,然後將其壓縮到用戶可以下載的新工件中。 – 2011-06-05 02:44:29

相關問題