简体   繁体   中英

Jenkins Multi-Branch Pipeline Not Pruning Branches Deleted from Remote

I have a multi-branch pipeline job setup in Jenkins set to automatically build open branches. However when I close a branch and delete it from the remote it does not seem to remove the project. I checked the discarded items settings to ensure it was unset, but it seems that Jenkins is picking up the branch even though it was deleted from the remote.

For example below, the branch feature/INT-542-Sample was deleted from the remote, but it still is being detected as a branch in Jenkins even after pruning.

Started by user Jenkins User
[Wed Jun 07 13:51:52 EDT 2017] Starting branch indexing...
 > git rev-parse --is-inside-work-tree # timeout=10
Setting origin to git@bitbucket.org: company-ondemand/project-sync.git
 > git config remote.origin.url git@bitbucket.org: company-ondemand/project-sync.git # timeout=10
Fetching origin...
Fetching upstream changes from origin
 > git --version # timeout=10
using GIT_SSH to set credentials Master SSH Key for Git Creation
 > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
using GIT_SSH to set credentials Master SSH Key for Git Creation
 > git ls-remote git@bitbucket.org: company-ondemand/project-sync.git # timeout=10
 > git rev-parse --is-inside-work-tree # timeout=10
Setting origin to git@bitbucket.org: company-ondemand/project-sync.git
 > git config remote.origin.url git@bitbucket.org:company-ondemand/project-sync.git # timeout=10
Fetching & pruning origin...
Fetching upstream changes from origin
 > git --version # timeout=10
using GIT_SSH to set credentials Master SSH Key for Git Creation
 > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/* --prune
Getting remote branches...
Seen branch in repository origin/develop
Seen branch in repository origin/feature/INT-542
Seen branch in repository origin/feature/INT-542-Sample
Seen branch in repository origin/master
Seen 4 remote branches
Checking branch feature/INT-542
      ‘Jenkinsfile’ found
Met criteria
No changes detected: feature/INT-542 (still at a88426b7ac1dad632b5df7b4e165aafa12bddce7)
Checking branch develop
      ‘Jenkinsfile’ found
Met criteria
No changes detected: develop (still at ec776ac8e6c639ea2b395f92e8aad572945ae270)
Checking branch master
      ‘Jenkinsfile’ not found
Does not meet criteria
Checking branch feature/INT-542-Sample
      ‘Jenkinsfile’ found
Met criteria
No changes detected: feature/INT-542-Sample (still at ec776ac8e6c639ea2b395f92e8aad572945ae270)
Done.
[Wed Jun 07 13:51:54 EDT 2017] Finished branch indexing. Indexing took 2.2 sec
Finished: SUCCESS

There are two possible solutions for your issue.

  1. Setup JGit as Git executable on Jenkins. See this answer or
  2. The Git version you use is too old. I've had 1.7.something on my system and got the same issue. After upgrading Git to 2.13.1, the jobs for removed branches where properly disabled.

Kind regards, Yves

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM