Jenkins delete jobs when branch deleted via branch-indexing

前端 未结 2 1052
忘掉有多难
忘掉有多难 2021-01-01 13:16

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

相关标签:
2条回答
  • 2021-01-01 14:06

    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).

    0 讨论(0)
  • 2021-01-01 14:13

    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

    0 讨论(0)
提交回复
热议问题