Is there a way to tell Jenkins (2.2) to remove jobs for branches that were deleted? Currently my build-monitor fills up with branches as the jobs are not deleted. Is there a setting to trigger this behavior or should this be filed as a bug?
What Happens If I Delete a Git Branch? When you delete a branch in Git, you don't delete the commits themselves. That's right: The commits are still there, and you might be able to recover them.
Like all deletes in svn, the branch is never really deleted, it's just removed from the current tree.
Orphaned Item StrategyComputed folders can remove items immediately or leave them based on a desired retention strategy. By default, items will be removed as soon as the folder computation determines they are no longer present.
Since you are using latest Jenkins version, consider switching your jobs to multibranch pipeline setup.
The Workflow Multibranch feature (provided by the workflow plugin) provides the following key abilities:
Automatic Workflow (job) creation in Jenkins per new branch in the repo (assuming webhooks are registered from GH to Jenkins).
Build specific to that child-branch and its unique scm change and build history.
Automatic job pruning/deletion for branches deleted from the repository, according to the settings.
Flexibility to individually configure branch properties, by overriding the parent properties, if required.
EDIT: check the 'Discard Old Items' settings for you pipeline. If you have non-zero 'Max # of old items' then, if your branch had less builds then this number, it will never be deleted! You can even see that in logs:
Will not remove US12345 as it is only #1 in the list Will not remove US23456 as it is only #2 in the list Will not remove US34567 as it is only #3 in the list
EDIT: You can also try your luck by adding additional behavior named "Prune stale remote-tracking branches" ("Behaviors" -> "Add" -> Select from dropdown).
1) Go to Manage Jenkins -> Global Tool Configuration -> Git -> Add Git -> Choose JGit
.
2) Then go to your multibranch pipeline configuration and choose JGit
instead Default
under Branch Sources -> Git Executable
3) Press Branch Indexing -> Run now
Old branches should go away now
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With