2010-01-12 65 views
3

我有一个VS 2008的Web表单项目,我使用CruiseControl.net来构建和测试应用程序。所有相当简单。从SVN发布到文件夹ProjectName_VersionNumber_BuildNumber

我想要做的是自动发布到给定的文件夹,并有名为ProjectName_VersionNumber_BuildNumber的文件夹。我可以建立一个静态命名的文件夹,但我看不到如何自动命名该文件夹。如何检测巡航控制脚本中的版本号和内部版本号?

回答

2

CruiseControl将大量属性(他们称之为集成属性)传递给您的任务。你如何使用它们将取决于你正在使用哪个任务。例如,这里是一个list of the properties for MSBuild。以下是我想根据您的问题想要的属性:

CCNetLabel:用于识别CCNet构建的标签。该标签由CCNet贴标机生成。

CCNetProject:正在集成的CCNet项目的名称。

所有你必须做的就是写这样的事情,以创建文件夹名称:

${CCNetProject}_${CCNetLabel} 

可用积分性质的其余部分,可以发现here

0

您可以发布到以构建标签命名的子文件夹 - 在the documentation中查找UseLabelSubdirectory

或者您可以使用custom task - ccnet会在执行它之前设置一堆环境变量,包括一个用于构建标签的环境变量。