0

我们使用 Mercurial、Maven 和 Hudson

我创建了一个测试项目以在 Hudson 中使用并设置 freestyle/Maven 3 作业,以执行“发布:准备发布:执行”目标。这运行良好。

然后,我通过复制测试项目并更新“存储库 URL”和“存储库浏览器 URL”,为“真实”项目创建了另一个发布作业。这个失败了:

[INFO] Checking in modified POMs...
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg branch
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg outgoing
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg commit --message '[maven-release-plugin] prepare release MyProject-1.0' /opt/home/hudson/jobs/MyProject-ManualRelease/workspace/pom.xml
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg push https://hudson:hudson@scmserver/hg/current/MyProject
[ERROR] 
EXECUTION FAILED
  Execution of cmd : push failed with exit code: 255.
  Working directory was: 
    /opt/home/hudson/jobs/MyProject-ManualRelease/workspace
  Your Hg installation seems to be valid and complete.
    Hg version: 1.3.1 (OK)

为了让我们的 Maven 发布插件与我们的 Mercurial 服务器一起工作,我们必须在其上设置 https 并且需要在每个项目的 hgrc 文件中添加一些配置。两个项目存储库都设置了相同的配置。

我们以“hudson”用户的身份运行 Hudson,并在 Mercurial 服务器上为其设置了私钥/公钥,以便它可以访问 Mercurial 服务器。

我不明白为什么一个项目可以提交更改而另一个不能。如果是两个项目,我猜这是权限问题,但它只是其中之一。

我希望有人对问题所在提出建议。

4

1 回答 1

0

我专注于配置,问题是 hg Web 服务器无法访问项目存储库。有人在项目所在的目录上创建了一个(空)存储库,这阻止了 Hudson 通过 https 访问它。删除存储库修复的东西。

于 2012-11-21T23:15:03.063 回答