Status: Closed (View Workflow)
Linux master server, separate Linux or Windows slave
Using the git plugin to publish a merged change to a central repository previously was successful from either the master node or a slave agent. With the 1.2.0 (and 1.3.0) version of the git plugin it is no longer able to push changes to the central repository after they have merged and are successfully built on the slave. The merge still works as expected when performed on the master node.
The stack trace reports:
Commencing build of Revision 363396d76a09a12a2f4b5d94fb4e9981e05ad4a9 (origin/proposals)
hudson.util.IOException2: remote file operation failed: /var/lib/jenkins/mwaite6-slave/workspace/merge-proposals at hudson.remoting.Channel@4a6ecaf9:fc-agile-2011
Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@7c0a37f8
... 10 more
Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
... 13 more
Steps to recreate the problem:
- configure a Git repository into which the Jenkins user can push changes
- create a "master" branch and a "proposals" branch on the Git repository
- define a Jenkins job which clones the Git repository with ssh protocol
- configure the Jenkins job git plugin to merge from "/proposals" and "/master" to "master-proposals"
- restrict the job to execute on any node except master node ("!master")
- define a post build action to push the resulting merge to the origin/master branch
- Submit a change to the central git repository on the "proposals" branch
- Run the Jenkins job to confirm it will combine the master and proposals branches
- Confirm the Jenkins job fails to push the combined change
= Serialization exception between master and slave.
Refer to merge-proposals.xml for the job definition I used in my tests.
- is duplicated by
JENKINS-17679 Git plugins crashes with exception for jobs using git merging features
Since https://github.com/jenkinsci/git-plugin/pull/148 has been merged, should this not be set to Resolved? (I know no plugin release containing the fix has yet been made, but it is conventional to mark bugs closed once the fix has been committed to the master branch.)
Agreed with @jglick that since the change has been submitted, this should be resolved.
Nicolas just pushed a release of git-client-plugin 1.0.6 and git-plugin 1.4.0. The git-client-plugin release is already available on the updates site. The git-plugin release should be available soon.
I've tested it.
It works now. It can check out on a remote slave, it can merge to another repo, and after the tests it can push the merged thing to another branch.
So the commit above my previous commit did it. I reverted it. Created a pull request for that.