4

我是詹金斯的新手!我设法在 Jenkins 中克隆了 GIT hub repo,现在尝试在 Jenkins 中构建获取的 maven 项目。我从 GITHUB 获取了 7 个项目,它们相互依赖,即一些项目在其 POM 中为其他项目定义了依赖项。

以下是我的 Maven 配置(抱歉,无法在此处发布图片,请以粗体显示)

根 POM myFirstProject/pom.xml

目标和选项 清洁包安装

MAVEN_OPTS

备用设置文件 I

增量构建 - 仅构建更改的模块

禁用自动工件归档

并行构建模块检查

使用私有 Maven 存储库策略本地到工作区

为每个失败的模块发送电子邮件

检查Pom 解析期间的解决依赖关系

无头奔跑

在 Pom 解析期间处理插件

使用自定义工作区

Maven 验证级别 DEFAULT

Maven 设置配置 - 选择 -

Maven 全局设置配置 ¡ - 选择 -

   I get following trace when I build this job:

<===[JENKINS REMOTING CAPACITY]===>channel started 构建单个 Maven 模块还没有为 Maven 3 实现!完成:中止

我正在使用 Maven 3.3

正如您在列出的配置中看到的那样,我正在为其中一个项目的 POM.xml 提供参考。根据我的理解,jenkins 应该先解析这个 xml 并构建所有依赖的项目。我不确定我的理解是否正确......如果它不正确 - 我期待知道如何继续。我应该按照所需的构建依赖顺序为不同的项目创建不同的作业吗?无能为力从这里走...谢谢

4

2 回答 2

3

JENKINS REMOTING CAPACITY 频道已启动构建单个 Maven 模块尚未针对 Maven 3 实现!已完成:已中止 Jenkins 中的 Maven 3 支持存在错误

我将 jenkins 中的 maven 安装从 3.2 降级到 2.2,它工作得很好!这是已经打开的 JIRA 票证,并从这里得到了提示: https ://issues.jenkins-ci.org/browse/JENKINS-11964

于 2012-09-02T02:59:32.897 回答
1

如果您有 7 个相互依赖的项目,那么您应该在 jenkins 中有 7 个不同的作业来构建它们并将它们安装在 jenkins 本地 maven 存储库中。通过检查该Resolve Dependencies during Pom parsing选项(就像您已经做的那样),Jenkins 将自动解决项目的构建顺序。

这样做可能很无聊,特别是如果您计划添加更多依赖项(但它仍然可能是正确的方法)。

另一种方法是(假设您可以控制 7 个项目存储库/结构/...)创建一个父 maven pom,将它们全部构建在一个中。在这种情况下,您可能会将所有项目移动到一个公共文件夹下(在 jenkins 中只有一个 Git 导入)但如果您不喜欢(或有某些原因)不这样做,您还可以在 jenkins 配置中定义多个存储库.

于 2012-09-01T14:58:12.717 回答