我们希望在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'。 –