2011-04-04 67 views
3

我们固定了deployd到生产的版本。 有没有一种简单的自动化方法将固定构建的构件上传到svn存储库?Teamcity文物到SVN

回答

3

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

回到你的问题:我看不出有什么好方法来实现你的要求。尽管有两个想法:

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

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

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

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

再说一遍,整个过程对我来说似乎很尴尬。

2

TeamCity充当Ivy存储库。所以,将东西放入SVN的需求不太吸引人。您只需将其备份,并且您的构建脚本将其用作存储库。

或者,您可以创建一个构建配置,并在您项目的“最后固定”构建中使用工件依赖项。

你可以触发它作为你的构建,或者作为你的构建的依赖,你可以使用一个计时器。

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