This plugin allows records from one Jenkins to be published on another Jenkins.The typical use case is for you to run builds within the firewall, then send the results to another Jenkins which is facing the outside world.
For the convention, let's call the Jenkins that's doing builds private Jenkins, and let's call the Jenkins that's just broadcasting build results as public Jenkins. The following pieces are involved to make this work:
- Both private and public Jenkins need to have the build-publisher plugin installed. This plugin makes Jenkins capable of sending records to public Jenkins.
- Private Jenkins is configured with information about public Jenkins instance(s) that it wants to send data to.
- Jobs on private Jenkins need to opt-in to the publication (through the job configuration.)
Once this is set up, build records from private Jenkins is sent to public Jenkins, through HTTP. If a corresponding job does not exist, it will be automatically created on the public Jenkins and kept in sync with the private Jenkins.
For this arrangement to work correctly, two Jenkins need to have more or less the same version of plugins.
Public Jenkins instance is configured on the global configuration page. You have to specify name, URL, administrator username and password, as shown on the following screenshot.
Check "Publish build" on the job configuration page int the "Post-build Actions" section to mark the project for publishing:
To check the status of publishing go to "Dashboard" -> "Manage Jenkins" -> "Build publishing status". In case of any problem during build transmission, you can restart the publishing thread or reschedule interrupted transmission (otherwise the thread waits for 10 minutes and tries again).
Proxy support is available since ver. 1.12. Proxy settings is loaded from Update center setup. If you do any changed to proxy setup, you need to reload proxy setup in Build publisher section global Jenkins configuration page in order to Build publisher reflect the changes (or restart Jenkins:-).
- Views don't get synchronized automatically
- The plugin isn't able to deal with matrix projects whose configurations (axis) have changed (I had problems reproducing this lately)
- Doesn't use time zones and create symlinks any more, uses only
buiild-number, see JENKINS-24380 Migration for details (pull #7)
- BuildPublisher reports "URL doesn't exist" after upgrade Remote Jenkins to 1.535 (JENKINS-20067)
- Fixed NPE when publishing a build (JENKINS-17944)
- Update for changes required by Jenkins core 1.503 (JENKINS-16993)
- Handle error states when job was already deleted or matrix configuration doesn't exists yet (pull #2)
- Proper URL encoding (pull #1)
- Update for changes required by Jenkins core 1.463 (JENKINS-13857)
- Close output stream if some exception happens
- Fixed NPE (JENKINS-11003)
- Fix for JENKINS-7330
- Added option to disable triggers on public Hudson (JENKINS-3802)
- Fix link to matrix configuration
- Update uses of deprecated APIs