【问题标题】:jenkins maven does not push my pom and uses an old maven-release-prepare versionjenkins maven 不推送我的 pom 并使用旧的 maven-release-prepare 版本
【发布时间】:2019-03-06 06:23:36
【问题描述】:

你好 Stackoverflow 社区,

我遇到了 Jenkins 的问题,我无法解决。

我有两个项目,一个是我一起快速构建的测试项目,这里 pom 由 maven 版本提交和推送:准备。

第二个项目是我的主项目,这里pom文件没有提交和推送。 另外,WAR文件没有上传到nexus。

这里首先有我的测试项目和 Jenkins 日志。 在这里可以看到2.5.3版本的maven-release-plugin正在被拉取使用。也是提交和推送的pom文件。

    [Moss-Jenkins-Test-Release] $ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/M3/bin/mvn -f pom.xml -s /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/.conf/settings.xml -D-Duser.timezone="CET" release:prepare
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building moss-jenkins-test Maven Webapp 6.0.13-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-release-plugin:2.5.3:prepare (default-cli) @ moss-jenkins-test ---
[INFO] Verifying that there are no local modifications...
[INFO]   ignoring changes on: **/pom.xml.backup, **/release.properties, **/pom.xml.branch, **/pom.xml.next, **/pom.xml.releaseBackup, **/pom.xml.tag
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git rev-parse --show-toplevel
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git status --porcelain .
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[WARNING] Ignoring unrecognized line: ?? release.properties
[INFO] Checking dependencies and plugins for snapshots ...
What is the release version for "moss-jenkins-test Maven Webapp"? (jenkins-test:moss-jenkins-test) 6.0.13: : What is SCM release tag or label for "moss-jenkins-test Maven Webapp"? (m1ss-jenkins-test:moss-jenkins-test) moss-jenkins-test-6.0.13: : What is the new development version for "moss-jenkins-test Maven Webapp"? (m1ss-jenkins-test:moss-jenkins-test) 6.0.14-SNAPSHOT: : [INFO] Transforming 'moss-jenkins-test Maven Webapp'...
[INFO] Not generating release POMs
[INFO] Executing goals 'clean verify'...
[WARNING] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[INFO] [INFO] Scanning for projects...
[INFO] [INFO] 
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Building moss-jenkins-test Maven Webapp 6.0.13
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] 
[INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ moss-jenkins-test ---
[INFO] [INFO] 
[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ moss-jenkins-test ---
[INFO] [INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] [INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/src/main/resources
[INFO] [INFO] 
[INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ moss-jenkins-test ---
[INFO] [INFO] Changes detected - recompiling the module!
[INFO] [INFO] Compiling 1 source file to /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/target/classes
[INFO] [INFO] 
[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ moss-jenkins-test ---
[INFO] [INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] [INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/src/test/resources
[INFO] [INFO] 
[INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ moss-jenkins-test ---
[INFO] [INFO] Changes detected - recompiling the module!
[INFO] [INFO] Compiling 1 source file to /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/target/test-classes
[INFO] [INFO] 
[INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ moss-jenkins-test ---
[INFO] [INFO] Surefire report directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/target/surefire-reports
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running mossjenkinstest.TestMain
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec
[INFO] 
[INFO] Results :
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] [INFO] 
[INFO] [INFO] --- maven-war-plugin:2.2:war (default-war) @ moss-jenkins-test ---
[INFO] [INFO] Packaging webapp
[INFO] [INFO] Assembling webapp [moss-jenkins-test] in [/var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/target/moss-jenkins-test]
[INFO] [INFO] Processing war project
[INFO] [INFO] Copying webapp resources [/var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/src/main/webapp]
[INFO] [INFO] Webapp assembled in [390 msecs]
[INFO] [INFO] Building war: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release/target/moss-jenkins-test.war
[INFO] [INFO] WEB-INF/web.xml already added, skipping
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD SUCCESS
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Total time: 3.841 s
[INFO] [INFO] Finished at: 2018-09-27T10:55:58Z
[INFO] [INFO] Final Memory: 23M/36M
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git add -- pom.xml
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git rev-parse --show-toplevel
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git status --porcelain .
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup
[WARNING] Ignoring unrecognized line: ?? release.properties
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git commit --verbose -F /tmp/maven-scm-2032289853.commit pom.xml
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Tagging release with the label moss-jenkins-test-6.0.13...
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git tag -F /tmp/maven-scm-1945355948.commit moss-jenkins-test-6.0.13
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git ls-files
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Transforming 'moss-jenkins-test Maven Webapp'...
[INFO] Not removing release POMs
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git add -- pom.xml
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git rev-parse --show-toplevel
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git status --porcelain .
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup
[WARNING] Ignoring unrecognized line: ?? release.properties
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release && git commit --verbose -F /tmp/maven-scm-1316586055.commit pom.xml
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Jenkins-Test-Release
[INFO] Release preparation complete.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.865 s
[INFO] Finished at: 2018-09-27T10:55:58Z
[INFO] Final Memory: 10M/19M
[INFO] ------------------------------------------------------------------------
Parsing POMs

现在是我主要项目中的 Jenkins 日志。 在这里可以看到正在使用 2.3.2 版本的 maven-release-plugin。 mvn 依赖项:resolve-plugin 显示使用了 2.5.3 版本,并且 mvn help: Effective-pom 仅显示了 2.5.3 版本。 我在本地进行查询,Jenkins 在云端运行。

    [INFO] Building ROOT 9.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-release-plugin:2.3.2:prepare (default-cli) @ ROOT ---
[INFO] Verifying that there are no local modifications...
[INFO]   ignoring changes on: **/pom.xml.backup, **/release.properties, **/pom.xml.branch, **/pom.xml.next, **/pom.xml.releaseBackup, **/pom.xml.tag
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git status
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release
[INFO] Checking dependencies and plugins for snapshots ...

...

 [INFO] [INFO] ------------------------------------------------------------------------
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git add -- pom.xml
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git status
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release
[INFO] Tagging release with the label ROOT-9.0.1...
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git tag -F /tmp/maven-scm-121026806.commit ROOT-9.0.1
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git push url ROOT-9.0.1
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release
[INFO] Executing: /bin/sh -c cd /var/lib/jenkins/workspace/Moss-Test-Release && git ls-files
[INFO] Working directory: /var/lib/jenkins/workspace/Moss-Test-Release

我的问题是 jenkins 或 mvn 版本:准备我的 pom 没有提交,我的文件没有上传到 nexus。 mvn release:prepare not committing changes to pom.xml

但我们现在知道了,我的 Jenkins 流程使用更新版本的 maven-release-plugin 来构建我的项目。

我只是不明白为什么测试项目有效而我的主要项目失败了。

【问题讨论】:

  • 如果您的工作之间存在差异,则使用 Maven 中的哪个版本的插件。简单的问题是您没有在 pom 文件中定义插件版本。你总是应该做的......
  • 我的 pom 和 child pom 的版本号都是 2.5.3。 mvn 依赖:resolve-plugin 显示使用的是 2.5.3 版本,因此 mvn help: Effective-pom 仅显示版本 2.5.3。
  • 只有我的 Jenkins 进程向我显示 maven-release-plugin 版本 2.3.2

标签: git maven jenkins


【解决方案1】:

我进一步分析了我的问题并发现了以下内容。 maven 发布插件是从超级 pom 中拉出来的。 这个超级 pom 可以在插件 maven-model-builder 中找到。 然而,在我的 .m2 存储库中,一个旧的 maven-model-builder 版本被提取,因此有效的 pom 也运行一个旧的 maven-release-plugin 版本。有效的 pom 是我的 pom 和 super pom 混合在一起的。我提取了有效的 pom 并查看了 mvn 依赖项:tree 或 maven 依赖项:resolve-plugin。在问题中,但没有 maven-model-builder,我看不出他为什么要使用旧的 maven-builder 版本。

可能是它没有正确地向我显示依赖项,并且这里的 maven 可能没有好的分辨率使我的插件成为可能。

我在 Jenkins 上也有 maven 3.5.4 本地和 3.5.4。 这也应该是一个新的 maven-model-builder 版本和一个新的超级 pom 可用于获取正确的 maven-release-plugin。

我已经尝试过将新版本中的 maven 模型构建器作为我的 pom insert 中的插件,但无济于事。

它必须在我的 poms 上才能加载任何旧插件。 但是 maven 没有用命令显示正确的依赖关系 我也没有在输出中看到 maven-model-builder 插件或依赖项。

既然 maven-model-builder 指的是较新的版本,我如何才能得到它? 如何进一步分析我的有效 pom、依赖项和插件,以找出哪个插件负责旧的 maven-model-builder 插件?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-16
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 2020-12-28
    • 2013-01-26
    相关资源
    最近更新 更多