我有几个。NET Core构建在TeamCity中的Ubuntu Linux代理上运行。构建实际上是在使用微软官方的Docker容器中进行的。Linux的NET Core SDK映像。
我有3个构建步骤,所有这些步骤基本上都使用docker容器中的dotnetCLI命令:
-
.net还原
-
.net构建
-
.net测试
构建工作得很好——程序集根据GitVersion进行了正确的版本控制,测试运行,我通过dotCover获得了代码覆盖率数据,等等。
有一件事不起作用,那就是我找不到一种基于GitVersion设置内部版本号的方法。我认为这是因为GitVersion在容器内运行,因此它不知道TeamCity代理,也不知道GitVersion的代理。
这就是我的挑战。记住,这是在Linux下运行的,所以我不能使用Windows特有的技巧。那么,我如何让GitVersion以某种方式将内部版本号从docker容器中“发布”出来,并返回到TeamCity中呢?