我們希望在Octopus Deploy中使用Channels功能,因此當版本號包含「X.X.X.X-Beta」時,它應該使用Beta通道。TeamCity內部版本號爲常數
我們的問題是,我們不知道如何在TeamCity中設置版本號,因爲它只允許硬編碼的字符串與一些變量。 我們不想把它設置成TeamCity,我們想在課堂上使用它。 所以我們有一個類調用VersionInformation.cs有以下內容:
public static class VersionInformation
{
public const string ProductVersion = "1.12.0.0";
public const string ProductStage = "Beta";
}
的AssemblyInfo.cs
文件下面一行包含:
[assembly: AssemblyVersion(VersionInformation.ProductVersion)]
基本上我們要做到:
- 獲取來自Visual Studio Online的TFS存儲庫的更改
- TeamCity應讀取該類並設置自己的構建版本「1.12.0。{} buildNumber-β」
- 的TeamCity應該創建一個八達通發佈該版本
我們的問題是,我們不能訪問我們的客戶的TeamCity的安裝變化那裏的版本,所以我們依賴於一個雙方工作的解決方案(就像那個類)。
如果你看一看的:
運行它兩次我得到了這個之後[構建腳本交互文檔](https://confluence.jetbrains.com/display/TCD8/Build+Script+Interaction+with+TeamCity)你可以看到,如果你可以欺騙你的構建(MSBuild也許?)輸出一個字符串到內容爲'## teamcity [buildNum然後你可以控制它,爲了得到'{buildNumber}'部分,你應該檢查應該包含TeamCity認爲是的內部版本號的環境變量,認爲它被簡稱爲'BUILD_NUMBER'。 –