使用subversion或TFS,您将如何设置自动构建?

时间:2009-07-10 12:59:48

标签: asp.net build-process

使用subversion或TFS,您将如何设置自动构建?

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

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

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

6 个答案:

答案 0 :(得分:5)

只需使用修订号。像CruiseControl.NET这样的东西应该让你很容易。

答案 1 :(得分:4)

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

答案 2 :(得分:0)

我会设置构建服务器来监视/ trunk文件夹,并在那里提交任何内容时触发构建。如果需要,您可以让构建脚本以为构建创建标记结束(即使这可能有点雄心勃勃,具体取决于提交到主干的频率)。当我这样做时,我通常在标记名称中包含subversion修订号,并且还包含文件的版本号(在适用的范围内)。

答案 3 :(得分:0)

您应该能够从/ trunk(也可能与您认为重要的分支的其他夜间构建)一起向右拉。从标签进行夜间构建并不是特别有用,因为通常标签是静态的。签出时,您可以通过签出的修订号识别签出。这样,如果您需要找出自那时以来发生了哪些变化,您可以从该修订版本(或分支,无论如何)进行区分。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

因为您在询问TFS:

我们使用CommonAssemblyInfo来增加dll的版本。每夜构建通常来自主干。

我们有一个主文件夹,其中“Dev”文件夹为当前版本分支。我们从当前的Dev-branch和manual开始每晚构建,所谓的引用构建一旦我们将Dev-stuff合并回Main。 构建是通过Build Agent的东西定义的。增加版本号等自定义任务通过MSBuild进入游戏。