【问题标题】:Release problems with Nexus + Maven + HudsonNexus + Maven + Hudson 的发布问题
【发布时间】:2011-03-31 03:02:15
【问题描述】:

在 Hudson(1.368) 上使用 Maven 的发布插件时,我收到一个错误,即我的 distributionManagement 部分在部署到我们的 Nexus Maven 存储库管理器的阶段丢失。如果我在不使用 release 的情况下部署它就可以了,所以不应该是服务器、部分或设置的错误配置。

值得注意的是,我的公司为 Hudson 使用了不同的 pom 文件,并且对它们进行了不同的命名。还有各个项目目录中的 settings.xml。这从来都不是问题,因为 Hudson 允许指定 pom 的名称以及设置文件的位置和名称。

我注意到上述内容的原因是,当将 distributionManagement 移到常规 pom.xml 中时,它确实找到了它(但仍然无法正常工作,因为它在设置文件中缺少用户名和密码)。这让我很困惑,因为对于发布过程的前面部分,它使用了正确的 pom 和设置。只是后来似乎忘记了他们。这是怎么回事?

提前谢谢你。

更新
maven 发布插件似乎启动了一个新的 maven 实例,它似乎使用默认的 pom.xml 而不是我们不同命名的 pom。需要进行更多测试。

【问题讨论】:

    标签: maven-2 hudson nexus maven-release-plugin


    【解决方案1】:

    答案(对于偶然发现这个问题的任何迷失的灵魂)是 maven 确实分叉了一个没有使用正确 pom 文件和设置的新进程。解决方案是在 pom 文件中添加一个部分,如下所示:

    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0</version>
        <configuration>
            <goals>-f POMFILE -s SETTINGSFILE deploy</goals>
        </configuration>
    </plugin>
    

    这将这两个文件指定给新的 maven 进程。

    【讨论】:

      【解决方案2】:

      如果我在不使用 release 的情况下部署它就可以了,所以不应该是服务器、部分或设置的错误配置。

      嗯,显然某处存在错误配置,无论是在 Hudson 级别。但是如果不查看 pom、设置、活动配置文件、发布期间使用的配置文件、Hudson 设置等,就很难发现它。

      第一步:尝试使用与 Hudson 完全相同的配置在命令行上重现问题。

      第二步:使用Maven Help Plugin 了解和调试问题。更具体地说,以下目标:

      我注意到上述内容的原因是,当将 distributionManagement 移到常规 pom.xml 中时,它确实找到了它(但仍然无法正常工作,因为它在设置文件中缺少用户名和密码)。

      如果在项目的pom.xml 之外指定distributionManagement,则不清楚(在公司环境中,它通常在公司pom.xml 中,是这种情况吗?)。

      还不清楚您是否真的为服务器 id 提供了 usernamepassword,与 distributionManagement 的存储库 id 匹配。

      但不知何故,这里使用了错误的组合。仔细检查发布/部署期间哪些配置文件/设置处于活动状态,以按照建议发现问题。

      另见

      • Maven 部署插件Usage 页面

      【讨论】:

      • 谢谢你。我会看看它是如何工作的,但要解决你的一些问题。我们为 Hudson 使用不同命名的单独 pom 文件。这些文件是 pom 文件,但不是 pom.xml。至于用户名和密码,部署快照就可以了,所以它们应该是正确的。
      • @Bobnix:它们可能是正确的,但看起来它们在部署期间没有使用。尝试在命令行上重现问题(通过复制 Hudson 正在做的事情)。 PS:听起来像一个复杂的设置...
      • 好的,所以我运行了帮助目标,虽然很酷,但没有发现任何异常。我也尝试运行与 Hudson 相同的(嗯,类似的)命令,但 1)无法在服务器上运行它,无法访问,2)由于我丢失并且无法安装 svn,因此无法在本地运行它。一位大神密谋反对我。
      • @Bobnix:抱歉,但由于您是唯一可能重现该问题的人,因此我无法提供更多帮助(至少在没有详尽的细节的情况下)。我仍然认为在 Hudson 运行时混合所有这些 poms/settings/profiles 时会发生一些奇怪的事情。
      • 谢谢,我学到了一些新技巧。无论如何,这是一堆脆弱的系统。
      猜你喜欢
      • 2010-10-21
      • 2012-02-29
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 2011-07-23
      • 2017-05-29
      • 2011-09-15
      • 1970-01-01
      相关资源
      最近更新 更多