【问题标题】:Deleting old release branches on build pipeline (Jenkins)删除构建管道上的旧版本分支 (Jenkins)
【发布时间】:2014-10-25 11:08:21
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: github jenkins continuous-delivery


    【解决方案1】:

    变通方案可能是这样的;

    作为构建后操作;

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多