【发布时间】:2023-03-16 14:27:02
【问题描述】:
我们想设置 TeamCity 来监控我们的标签目录,并在创建新标签时自动构建。
这意味着当我们准备好发布一个版本时,我们需要做的就是创建一个标签,然后 TeamCity 可以处理我们的构建、部署等。
目前唯一的解决方案是创建一个 relase 分支,然后在创建标签后将其复制到该分支。理想情况下,我们希望删除这个额外的步骤。
【问题讨论】:
标签: svn continuous-integration teamcity
我们想设置 TeamCity 来监控我们的标签目录,并在创建新标签时自动构建。
这意味着当我们准备好发布一个版本时,我们需要做的就是创建一个标签,然后 TeamCity 可以处理我们的构建、部署等。
目前唯一的解决方案是创建一个 relase 分支,然后在创建标签后将其复制到该分支。理想情况下,我们希望删除这个额外的步骤。
【问题讨论】:
标签: svn continuous-integration teamcity
不确定是否可以按照您描述的那样完成,因为 TC 不知道最新标签是什么;除非你有一个实际的 Latest 标签,你每次都会覆盖它,这是很常见的。
我认为减少手动工作的唯一方法是将您的 TC 项目 VSC 根设置为指向 myProj/tags/,然后将签出规则设置为 +:v1.2.3.4,其中 v1.2.3.4 是您最新标签的名称。
因此,当您创建新标签时,只需更新签出规则以指向它,然后点击构建按钮。
【讨论】:
我认为这个问题没有完美的解决方案,尽管@sijw 确实提供了一个涉及最少手动步骤的答案。
这样做的原因是我们可以使用 maven 获取最新标签以部署到 nexus。但是我认为我们这样做的方式是错误的。
事实证明,使用 Maven 发布可以为您创建一个 SVN 标签,并在您创建新版本时部署到 Nexus。而不是先创建标签,然后再从中删除。
也许任何想要回答这个问题的人都应该将 Maven 版本作为解决方案。 (http://maven.apache.org/guides/mini/guide-releasing.html)
【讨论】: