0

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

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

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

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

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

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

4

1 回答 1

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
于 2014-09-01T11:41:58.037 回答