我目前有两个TeamCity版本,Foo
和FooNuGet
。
Foo
是一个简单的C ++编译版本:从VCS检索源代码,编译它,将生成的exe
和dll
文件收集为工件。它使用配置参数(%buildConfiguration%
)来选择是在Debug模式还是Release模式下编译。
FooNuGet
在Foo
上有快照+工件依赖项。它在Foo
的工件上运行CoApp,从而制作NuGet包。
问题是,我需要在该包中包含Release和Debug二进制文件。我曾希望在Foo
上创建两个依赖项,并使用两种编译模式对它们进行配置,但它看起来并不像TeamCity提供的那样。
我看到另外两个可能的解决方案:
创建Foo
作为模板,然后从此模板中创建FooDebug
和FooRelease
。这并不理想,因为Foo
本身已经附加到模板上。
创建一个额外的 FooDebug
版本,只需从Foo
(调试)传递工件,然后让FooNuGet
依赖于Foo
(发布)和FooDebug
。这将是一个kludge,但看起来对我最有希望。
我应该怎样做才能在Foo
开头以FooNuGet
的两个版本结束?
首先制作此配置参数是错误的吗?
我预计的第二个解决方案根本不起作用。在选择构建以满足快照依赖性时,TeamCity显然会完全忽略参数。结果是FooDebug
' s %buildConfiguration%
被覆盖(实际上被忽视),我最终在FooNuGet
中发布了两份Release工件。
答案 0 :(得分:0)
您是否只能在Debug
内置Release
和Foo
两个构建步骤?他们会生成Debug
和Release
二进制文件,然后您可以在FooNuGet
中打包。