3

当我们进行发布时,发布工件和标签都按预期创建。但是,该项目未正确更新到下一个(快照)版本。

发布的示例配置:

在此处输入图像描述

控制台日志的相关部分:

[RELEASE] Committing release version on branch 'master'
[RELEASE] Creating tag '1.3.14'
[RELEASE] Pushing branch 'master' to 'ssh://git@git.cloudbees.com/xxx/yyy.git'
[RELEASE] Pushing tag '1.3.14' to 'ssh://git@git.cloudbees.com/xxx/yyy.git'
[RELEASE] Changing POMs to next development version
[RELEASE] Committing next development version on branch 'master'
Finished: SUCCESS

正如预期的那样,项目在 Git 中的状态:

$ git pull origin master
From ssh://git.cloudbees.com/xxx/yyy
 * branch            master     -> FETCH_HEAD
Already up-to-date.
$ git show --summary
commit df10d905c24c1cbf8d0b6992ab366ac5dcba470b
Author: CloudBees DEV@Cloud <nobody@cloudbees.com>
Date:   Mon Jul 29 09:04:38 2013 +0000
$ git remote show origin
* remote origin
  Fetch URL: ssh://git@git.cloudbees.com/xxx/yyy.git
  Push  URL: ssh://git@git.cloudbees.com/xxx/yyy.git
  HEAD branch: master

    RELEASED 1.3.14

所以看起来下一个快照的更新正在本地提交,但没有被推送。这是一个错误(我找不到相关的票证)还是我们做错了什么?

PS:这个问题只发生在 Git 上,Subversion 工作正常。我们的 Artifactory 插件版本是 2.1.6,应该是最新的。

4

1 回答 1

7

解决方案:选择“将工件部署到工件”构建后操作。除了执行实际的工件部署外,插件还可以在此处执行更新的 POM 缺少的最终 git 推送。

解决方法(如果您真的不想将工件部署到 Artifactory):添加“Git Publisher”的构建后操作。我检查了“仅在构建成功时推送”。然后我单击“添加分支”并将“master”放入分支中以推送(因为我在 git“签出到特定本地分支”框中有 master,根据插件配置页面)和“目标远程”中的“origin”名称”块。这强制推送本地提交的更新 POM。

如果插件为 maven 自动完成最后的 git push 并发布到 Artifactory,而不必像 gradle 一样选择“将 Artifacts 部署到 Artifactory”构建后操作,那就太好了。

于 2013-11-04T19:15:08.743 回答