我有一個VS 2008的Web表單項目,我使用CruiseControl.net來構建和測試應用程序。所有相當簡單。從SVN發佈到文件夾ProjectName_VersionNumber_BuildNumber
我想要做的是自動發佈到給定的文件夾,並有名爲ProjectName_VersionNumber_BuildNumber的文件夾。我可以建立一個靜態命名的文件夾,但我看不到如何自動命名該文件夾。如何檢測巡航控制腳本中的版本號和內部版本號?
我有一個VS 2008的Web表單項目,我使用CruiseControl.net來構建和測試應用程序。所有相當簡單。從SVN發佈到文件夾ProjectName_VersionNumber_BuildNumber
我想要做的是自動發佈到給定的文件夾,並有名爲ProjectName_VersionNumber_BuildNumber的文件夾。我可以建立一個靜態命名的文件夾,但我看不到如何自動命名該文件夾。如何檢測巡航控制腳本中的版本號和內部版本號?
CruiseControl將大量屬性(他們稱之爲集成屬性)傳遞給您的任務。你如何使用它們將取決於你正在使用哪個任務。例如,這裏是一個list of the properties for MSBuild。以下是我想根據您的問題想要的屬性:
CCNetLabel:用於識別CCNet構建的標籤。該標籤由CCNet貼標機生成。
CCNetProject:正在集成的CCNet項目的名稱。
所有你必須做的就是寫這樣的事情,以創建文件夾名稱:
${CCNetProject}_${CCNetLabel}
可用積分性質的其餘部分,可以發現here。
您可以發佈到以構建標籤命名的子文件夾 - 在the documentation中查找UseLabelSubdirectory
。
或者您可以使用custom task - ccnet會在執行它之前設置一堆環境變量,包括一個用於構建標籤的環境變量。