2014-09-01 120 views
0

我們正在使用Jenkins構建管道插件。而我們的持續交付策略就是這樣;刪除構建管道上的舊版本分支(Jenkins)

  1. 隊推碼,詹金斯初始工作觸發....
  2. 創建一個新的發佈分支。
  3. 如果包裝和單元測試成功。然後
  4. 將發佈分支推送到github,否則刪除本地創建的分支。
  5. 文物歸檔和....
  6. ....

我參考:https://www.youtube.com/watch?v=McTZtyb9M38

正如看見的步驟4中的每個作業觸發創建新的分支,它會導致發生對我們的SCM造成污染。

我如何從SCM(Github)刪除舊分支我想保留Github上至少5個最新的分支。

注意:我們不會將每個構建部署到生產環境。

回答

0

解決方法可能是這樣的;

作爲後構建動作;

#!/bin/sh 
a=0 
release=$2 
until_build=`expr $1 - 5` 
until [ ! $a -lt $until_build ] 
do 
    exists=`git show-ref release-"$release".$a` 

    if [ -n "$exists" ]; then 
    git branch -D tag-release-"$release".$a 
    git push origin --delete release-"$release".$a 
    fi 
    a=`expr $a + 1` 
done