我们固定了将deployd用于生产的构建。 是否有一种简单,自动的方式将固定版本的工件上传到svn存储库?
答案 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脚本。 ,您可能需要通过构建脚本进行检查,看看这是一个新的固定版本还是旧版本。