-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins 2.16
Git Plugin 2.5.3
Git Client Plugin 1.19.7
OS: Centos 6.7
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Git Publisher Post-Build step fails to push tags.
As outlined here http://stackoverflow.com/questions/35995736/jenkins-git-publisher-unable-to-push-tags/36575057, downgrading to earlier versions of these plugins makes this work:
- Git plugin : 2.4.0 works, 2.5.3 does not work
- Git client plugin: 1.18.0 works, 1.19.7 does not work
(probably versions in between do not work either. I did not test any other combinations)
Steps to reproduce:
- Create a job that clones a github repo, use credentials with a key for a user that has push privileges in github. Additional behaviors: checkout to local branch "master", Wipe and force clone.
- Add a Git Publisher step, add tag with arbitrary name, check create and update checkboxes
- No other job configuration items are necessary
With versions labeled "does not work" above, job fails with the following error:
*Wiping out workspace first.
Cloning the remote Git repository
remote: Counting objects
Receiving objects
Resolving deltas
Updating references
Checking out Revision be5c9260a46cefcd37a5ef23ed04d112dc4e4c47 (refs/remotes/origin/master)
Pushing tag test-tag to repo origin
RefSpec is "refs/tags/test-tag:refs/heads/test-tag".
Opening connection
Counting objects
Finding sources
Writing objects
ERROR: Failed to push tag test-tag to origin
hudson.plugins.git.GitException: failed REJECTED_OTHER_REASON for 'refs/tags/test-tag:refs/heads/test-tag' refspec 'test-tag' to git@github.com:bla.bla.bla.git
at org.jenkinsci.plugins.gitclient.JGitAPIImpl$9.execute(JGitAPIImpl.java:1870)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
at hudson.remoting.UserRequest.perform(UserRequest.java:121)
at hudson.remoting.UserRequest.perform(UserRequest.java:49)
at hudson.remoting.Request$2.run(Request.java:324)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at hudson.remoting.Engine$1$1.run(Engine.java:63)
at java.lang.Thread.run(Thread.java:745)
at ......remote call to tc-docker-swarm-01-5209d3c4(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
at hudson.remoting.Channel.call(Channel.java:781)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
at com.sun.proxy.$Proxy66.execute(Unknown Source)
at hudson.plugins.git.GitPublisher.perform(GitPublisher.java:295)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
at hudson.model.Build$BuildExecution.post2(Build.java:185)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
at hudson.model.Run.execute(Run.java:1745)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:404)
Build step 'Git Publisher' marked build as failure*
With the older versions specified, tag is pushed successfully.
FYI to anyone having this issue: As a workaround I am using the ssh-agent plugin and direct shell commands to make/push tags. Something like this: