Teamcity工件到SVN

时间:2011-04-04 15:46:50

标签: svn teamcity

我们固定了将deployd用于生产的构建。 是否有一种简单,自动的方式将固定版本的工件上传到svn存储库?

2 个答案:

答案 0 :(得分:3)

注意版本化工件似乎不是一个好习惯。如果您的源由VCS管理,那么您已经能够在以前的任何状态(从过去的修订版本)重建您的系统。此外,出于实际原因,TeamCity已经保留了最近的工件历史记录,因此您可以访问它们\快速部署它们。

回到你的问题:我看不出任何有效的方法来实现你的要求。但有两个想法:

  • 从构建脚本中将工件推送到SVN仓库非常简单;您只需创建一个将文件提交到您的仓库的任务。如果在此阶段您有足够的上下文来知道是否必须固定构建,则可以触发提交。

  • TeamCity提供了一个不错的REST API。从任何自动化作业/脚本/程序,您可以查询构建服务器到任何构建的get the "pin status"

      

    获取当前引脚状态:GET   http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/pin/   (返回“true”或“false”文本)

    获得构建状态后,您可以下载并提交构件。

同样,整个过程对我来说似乎很尴尬。

答案 1 :(得分:2)

TeamCity充当Ivy存储库。因此,将内容放入SVN的需求不那么有吸引力。您只需备份它,然后您的构建脚本将其用作存储库。

或者,您可以在项目的“最后固定”版本上创建具有工件依赖关系的构建配置。

您可以在构建时触发它,或者作为构建的依赖项,您只需使用计时器。

您可以让它运行一个执行SVN上传的Ant脚本。 ,您可能需要通过构建脚本进行检查,看看这是一个新的固定版本还是旧版本。