Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 457
Joerg S Avatar asked Aug 07 '18 19:08

Joerg S


People also ask

What is orphaned item strategy Jenkins?

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.

What is difference between pipeline and Multibranch pipeline?

Jenkins Pipeline Vs. Multibranch Pipeline. A multibranch pipeline is meant for building multiple branches from a repository and deploy to multiple environments if required. A pipeline job supports both pipeline steps to be added in Jenkins configuration and form SCM.


1 Answers

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

like image 56
Joerg S Avatar answered Sep 20 '22 09:09

Joerg S