删除构建管道上的旧版本分支(Jenkins)

问题描述:

我们正在使用Jenkins构建管道插件。而我们的持续交付策略就是这样;删除构建管道上的旧版本分支(Jenkins)

  1. 队推码,詹金斯初始工作触发....
  2. 创建一个新的发布分支。
  3. 如果包装和单元测试成功。然后
  4. 将发布分支推送到github,否则删除本地创建的分支。
  5. 文物归档和....
  6. ....

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

正如看见的步骤4中的每个作业触发创建新的分支,它会导致发生对我们的SCM造成污染。

我如何从SCM(Github)删除旧分支我想保留Github上至少5个最新的分支。

注意:我们不会将每个构建部署到生产环境。

解决方法可能是这样的;

作为后构建动作;

#!/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