当我们执行发布时,正在按预期创建发布工件和标记。但是,项目未正确更新到下一个(快照)版本。
该版本的示例配置:
控制台日志的相关部分:
[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
所以看起来下一个快照的更新是在本地提交的,但是没有被推送。这是一个错误(我couldn't find a related ticket)还是我们做错了什么?
PS:这个问题只发生在Git上,Subversion工作正常。我们的Artifactory插件版本是2.1.6,应该是最新版本。
答案 0 :(得分:6)
解决方案:选择“将工件部署到Artifactory”后构建操作。除了进行实际的工件部署之外,这是插件执行更新的POM缺少的最终git推送的地方。
替代方法(如果您真的不想将工件部署到Artifactory):添加“Git Publisher”的构建后操作。我检查了“如果建立成功只推送”。然后我单击“添加分支”并将“master”放入分支中以进行推送(因为我在git中拥有了“Checkout to a specific local branch”框,每个插件配置页面)和“origin”在“Target remote”中名字“块。这迫使推动本地提交的更新POM。
如果插件执行了最终的git推送并自动发布到Artifactory for maven而不必知道选择“部署Artifacts到Artifactory”后构建操作,就像它对gradle一样。这将是很好的。