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

时间:2014-09-01 08:53:16

标签: github jenkins continuous-delivery

我们正在使用Jenkins构建管道插件。我们的持续交付策略就是这样;

  1. 团队推动代码,Jenkins初始工作被触发......
  2. 创建了一个新的发布分支。
  3. 如果包装和单元测试成功。然后
  4. 将发布分支推送到github,否则删除本地创建的分支。
  5. 文物存档和....
  6. ....
  7. 我的参考:https://www.youtube.com/watch?v=McTZtyb9M38

    正如在步骤4中看到的那样,每个工作触发器都会创建新的分支,并导致我们的SCM上出现分支污染。

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

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

1 个答案:

答案 0 :(得分: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