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

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

+0

你在VCS Root配置中修改了什么以指定一个标签来拉?我目前正在拼命寻找解决方案,这就是为什么我评论这个旧帖子:( – Adam 2013-08-19 12:06:44

我对TeamCity并不熟悉,但是如果它将pull路径直接传递给Mercurial,那么请尝试在URL的末尾添加#tag。也就是,

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

将克隆到1.2版的Mercurial。

+0

arathorn:我的建议是否有效? – 2010-07-06 17:52:45

这个问题似乎很死,但这里是我做(我今天不得不看着办吧):

的TeamCity(我使用的是6.0)似乎吞下“#”符号的URI,所以你只需要确保你把它放在引号:

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

其他一些quircks:

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

  • 由于URL需要加引号,你需要在URL中嵌入您的用户名/密码(任何在用户名密码文本框将被忽略)。 TeamCity无法像通常那样插入它们,因为URL中有引号。

+2

看起来像## release-tag会导致它生成正确的URL,而不必将其放在引号中或硬编码您的u/p。 – jslatts 2011-07-26 22:40:13

我遇到了类似的情况,其中我们希望有一个构建配置,该构建配置始终会构建标记为生产构建的任何内容。我通过将结帐模式切换到“代理签出”来解决问题,以便代理工作目录包含整个mercurial存储库,而不仅仅是最新的文件。然后我在实际构建之前添加了构建步骤。它只是:

hg update prod-build 

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

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

+0

我认为7.1支持建立特定的分支机构。有没有人试图在Mercurial和标签中使用这个 – Maverick 2012-08-27 16:26:15