'Jenkins multibranch pipeline won't prune deleted branches

We're currently having some trouble with the bitbucket branch source plugin used to handle a multibranch test job in one of our Jenkins instances (productive instance):

Any job related to a deleted branch is not getting deleted in Jenkins. Is is shown as disabled.

Checking the Scan Multibranch Pipeline Log I find the following entries:

Will not remove foobranch because it is new
Will not remove PR-1 because it is new
Will not remove bar because it is new
Will not remove freeDiskSpaceHack because it is new

We have another instance (test instance) where everything is working as expected - branches get removed immediately, e.g. seeing the following in the log:

Will remove freeDiskSpaceHack
Will remove foo
  • For both instances we're using the same Jenkins version (2.212.2) and plugin versions.
  • The jobs in both instances use the same settings for the Bitbucket branch source plugin:

Branch source plugin settings

  • There's one difference: Both jobs use a different repository in bitbucket; the onee of our test instance (where jobs get deleted) is a fork of the other one.

Besides that there's no difference.

My questions are:

  • Why doesn't it work for our productive instance? Is there some secret setting?
  • What does the log want to tell me saying: Will not remove <branch> because it is new.

Hopefully anyone has a clue.



Solution 1:[1]

Finally I found the hidded switch by myself. Feeling little bit stupid, though.

In the job configuration you can specify for how long to keep old items. When setting up this job initially I must have mixed up this setting with the setting which tells jenkins for how long to keep old builds. So it was set to 30 days.

Btw.: The number of builds kept for the individual branches are not affected by this setting...:

Orphaned Item Strategy (how it looked like)

enter image description here

Orphaned Item Strategy (how it should have looked like)

However to immeditaly get rid of orphaned branches one must not enter a number there, like:

enter image description here

Solution 2:[2]

If 'Build discarder' is set to retain old builds for 30 days but the Branches are no longer active (because either they are merged or closed), what will happen to Orphan records? I currently have 'Days to Keep Old items' is blank (implied 0) under 'Orphaned Item Strategy'.

With above setup, I dont see records removed even though repo scanning identifies them to be removed.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Pino
Solution 2 user18175286