2009-07-10 53 views
3

有了颠覆或TFS,你会如何设置自动构建?有了颠覆或TFS,你将如何去设置自动构建?

我需要一些关于命名约定的指导以及这将如何自动发生。

我正在使用/ branches/trunk/tags文件夹结构。 我正在使用构建应用程序(finalbuilder)。

我会告诉它哪个标签名称(或修订版#等)?由于它会一直在改变,人们如何进行夜间制作?在发布的名称中使用日期?

+0

如果您打算使用标签构建,每晚构建的要点是什么?你应该从树干上修建。 – idursun 2009-07-10 13:03:57

+0

idursun,其实我在问这个问题,我以前没做过。 – Blankman 2009-07-10 13:05:16

+0

你想从每个开发分支构建 - 开发分支包含功能的进行中的工作,没有理由不从他们建立。 标签(发布)分支只需要自动构建,如果你正在修复它们的错误或以任何方式修改它们。 – ripper234 2009-07-11 09:54:55

回答

0

我会设置构建服务器来监视/ trunk文件夹,并在任何提交时触发构建。如果想要的话,你可以让构建脚本最后为构建创建一个标记(尽管这可能有点雄心勃勃,这取决于事物对树干的响应频率)。当我这样做时,我通常在标签名称中包含Subversion版本号,并且还包含文件的版本号(在适用的范围内)。

0

你应该能够从/ trunk(并且可能与其他你认为很重要的分支构建的其他夜间版本)中拉出来。从标签进行夜间构建并不是特别有用,因为通常标签是静态的。检出时,您可以通过检出的修订版号识别结帐。这样,如果你需要了解自那以后发生了什么变化,你可以从该修订(或分支,不管)中进行区分。

4

使用TeamCity,为trunk +每个分支设置单独的版本。我们这样做,这是非常有帮助的。

0

我们使用Hudson,它会定期检查(由您设置)是否更改您给它的任何svn路径。然后它可以运行一个shell脚本(我们正在为iPhone构建,所以使用xcodebuild,但是您可以使用任何用于ASP.net的脚本)。然后我们将这个结果上传到我们的本地服务器$REVISION。在这里运行自动化测试也很容易。

0

既然你问TFS:

我们使用的是CommonAssemblyInfo递增DLL的版本。 Nightly Builds通常来自后备箱。

我们有一个主文件夹,用于当前版本的“开发”文件夹分支。我们从当前的开发分支和手册开始每晚构建,一旦我们将Dev-stuff合并到Main中,所谓的引用构建。 构建是通过构建代理的东西来定义的。像增加版本号的自定义任务通过MSBuild进入游戏。