删除构建管道上的旧版本分支(Jenkins)
问题描述:
我们正在使用Jenkins构建管道插件。而我们的持续交付策略就是这样;删除构建管道上的旧版本分支(Jenkins)
- 队推码,詹金斯初始工作触发....
- 创建一个新的发布分支。
- 如果包装和单元测试成功。然后
- 将发布分支推送到github,否则删除本地创建的分支。
- 文物归档和....
- ....
我参考: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