从Mercurial存储库中检索文件时,TeamCity可以从标记而不是提示中提取吗?

时间:2010-02-26 00:21:42

标签: mercurial teamcity

这是TeamCity的5.0.2版本。

4 个答案:

答案 0 :(得分:4)

这个问题似乎已经死了,但这就是我所做的(今天我必须弄清楚):

TeamCity (我正在使用6.0)似乎吞下了uri中的'#'符号,所以你只需要确保把它放在引号中:

"https://<username>:<password>@bitbucket.org/<your-account>/<your-project>#<your-release-tag>"

其他一些怪癖:

  • TeamCity可能会看到哈希并尝试填充分支名称文本框。删除它放在这里的任何内容,因为Hg似乎似乎来支持这一点。

  • 由于网址必须在引号中,因此您需要在网址中嵌入用户名/密码(用户名密码文本框中的任何内容)将被忽略)。由于网址周围的引号,TeamCity无法像通常那样插入它们。

答案 1 :(得分:2)

最新版本的TeamCity在VCS Root配置中添加了一个选项,用于指定要拉出的分支/标记。

答案 2 :(得分:1)

我不熟悉TeamCity,但如果它直接将拉动路径传递给Mercurial,请尝试在网址末尾添加#tag。也就是说,

hg clone 'https://www.mercurial-scm.org/repo/hg#1.2'

将克隆到Mercurial版本1.2。

答案 3 :(得分:1)

我遇到了类似的情况,其中我们想要一个构建配置,它始终构建标记为生产构建的任何内容。我通过将checkout模式切换为“agent checkout”解决了这个问题,因此代理工作目录包含整个mercurial存储库,而不仅仅是最新的文件。然后我在实际构建之前添加了构建步骤。它所做的就是:

hg update prod-build

之后,构建可以继续使用正确的版本。

请注意,这是在TC 6.5上,但我认为自定义构建步骤也在TC 5的卡片中。