配置hudson以构建多个分支

时间:2009-12-03 10:21:09

标签: mercurial build hudson branch

我使用ant文件通过hudson在mercurial中构建一个java项目。 mailnine哈德森的工作运行得很好。 最近创建了一个新的分支并通过commnd line推送到服务器:


hg branch newbranch
hg commit
hg push -f


维生素不包含这些变化,仍然可以很好地构建。 我已经设置了一个与主线相同设置的新作业(实际上是在hudson中复制主线作业),并指定了newbranch。

但是,newbranch作业构建的代码与主线相同。 如果我命令行克隆存储库并切换到newbranch,则所有内容都按预期显示。这似乎是一个哈德森配置故障,除非我的merqurial技能偏离正轨。

我还尝试使用与主线相同的设置从sratch设置作业,并添加了newbranch规范而没有任何运气。

我错过了什么? 任何想法?

2 个答案:

答案 0 :(得分:5)

尝试将分支放入URL中进行克隆,如:

http://server/path/to/repo#newbranch

ssh://user@server//path/to/repo#newbranch

您可以使用hg help urls

查看branch-in-repo-url的完整语法
URL Paths

Valid URLs are of the form:

  local/filesystem/path[#revision]
  file://local/filesystem/path[#revision]
  http://[user[:pass]@]host[:port]/[path][#revision]
  https://[user[:pass]@]host[:port]/[path][#revision]
  ssh://[user[:pass]@]host[:port]/[path][#revision]

Paths in the local filesystem can either point to Mercurial repositories
or to bundle files (as created by 'hg bundle' or 'hg incoming --bundle').

An optional identifier after # indicates a particular branch, tag, or
changeset to use from the remote repository. See also 'hg help revisions'.

答案 1 :(得分:0)

克隆作业的一个问题是,只要您点击克隆按钮,就会创建“克隆”作业。在您仍在配置克隆作业时,它可能会触发构建触发器,如SCM轮询事件,导致它在完全配置之前启动。

我相信这在Hudson的更高版本中已得到修复,但无法找到用于克隆作业的更改日志条目。克隆从配置存在同样的问题,问题在Hudson 1.319中得到修复。