无法进行Maven发布

问题描述 投票:0回答:2

我正在尝试使用 Jenkins 执行 Maven 发布。但我有一些问题。 这是我第一次进行 Maven 发布。 Jenkins 从 Git 存储库中拉取我的代码,并将所有 pom 文件更改为正确的版本。我可以在检查 Jenkins 工作区时看到这一点。然而,它似乎并没有将版本更改后的更改推送回 Git 存储库。 Git 使用名为 Gerrit 的代码审查工具,一旦执行 mvn 发布,我就必须批准该工具。

我已经在我的主 POM 中设置了 SCM

<scm><developerConnection>scm:git:ssh://<user>@<IP_Address>:<Port>/<Repo_Name>.git</developerConnection></scm>

我收到错误

无法在项目上执行目标 org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) :签入过程中发生错误:执行 SCM 命令时出现异常。 原因:签入过程中发生错误:执行SCM命令时出现异常。 堆栈跟踪:.....

有什么想法吗?

git maven version-control maven-release-plugin
2个回答
1
投票

谢谢你的pastebin。

错误

Caused by: org.apache.maven.scm.ScmException: Detecting the current branch failed: fatal: ref HEAD is not a symbolic ref
通常可以通过在 Git 参数的
Checkout/merge to local branch (optional)
部分中将
master
设置为
master
(如果要释放
Advanced...
)来欺骗。


0
投票

我们正在将代码库从 SVN 迁移到 BitBucket。我们曾经毫无问题地执行 Maven 发布(来自 Jenkins)。我的建议是不要将 maven-release 插件与 git 一起使用。这真是一场噩梦。我们最终手动执行了release:preparerelease:perform应该做的事情。

要求如下:

  • Jenkins 作业应手动执行。
  • 它将构建一个“发布”工件:-SNAPSHOT-less。
  • 它将上传到Artifactory(libs-release)。
  • 应更新pom.xml文件,为下一个开发周期做准备。

在迁移的代码库 pom.xml 文件上,我们:

在 Jenkins 上,我们创建了一个自由式项目:Perform_Maven_Release。

  • 我们的代理是Windows。

  • SCM:Bitbucket 服务器,签出到特定本地分支:master。

  • 构建步骤都是Windows批处理命令:

  • git结帐大师

  • 从 pom 版本中删除 -SNAPSHOT:

    mvn build-helper:parse-version 版本:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}

  • 将发布工件上传到 libs-release:

    mvn --批量模式部署

  • 更新pom文件,为下一个开发周期做准备:

    mvn --batch-mode build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.nextMinorVersion}-SNAPSHOT

  • 提交并推动:

    删除“.git/COMMIT_EDITMSG”
    git 添加 pom.xml 子文件夹/pom.xml
    git commit -am “提交 pom.xml 文件以用于下一个开发周期。”
    git 远程添加源 https://bitbucket.com/repo/repo.git
    git push --set-upstream https://USER:PASSW@https://bitbucket.com/repo/repo.git master

© www.soinside.com 2019 - 2024. All rights reserved.