正在删除构建管道上的旧发布分支(Jenkins)



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

  1. 团队推送代码,Jenkins初始工作触发
  2. 创建了一个新的发布分支
  3. 如果封装和单元测试成功。那么
  4. 将释放分支推送到github,否则删除本地创建的分支
  5. 存档的工件和

我的参考资料: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

相关内容

  • 没有找到相关文章

最新更新