本文主要是介绍一种通过SSH批量修改Gerrit仓库继承关系的脚本方法。通过创建脚本,管理员可以统一将多个仓库继承到指定父项目,从而集中管理权限。脚本核心是使用gerrit的ls-projects命令匹配目标仓库,再用set-project-parent逐个修改继承关系。这种方法适用于需要批量调整大量仓库权限的场景,提高Gerrit项目管理效率。
#!/bin/bash
GERRIT_USER=gerrit_admin_user
GERRIT_SERVER=server_name
## 这个主要是用于列出项目时匹配的字符条件,通常想要改的仓库都在某个统一路径下,可以用这个路径作为匹配条件
FOLDER="path_to/"
## 这个是要修改继承的那个项目路径
PARENT="path/of/parent"
LIST_PROJECTS_CMD="ssh -p 29418 $GERRIT_USER@$GERRIT_SERVER gerrit ls-projects -m $FOLDER"
projects=($($LIST_PROJECTS_CMD))
for project in "${projects[@]}"; do
echo "$project"
ssh -p 29418 $GERRIT_USER@$GERRIT_SERVER gerrit set-project-parent $project -p $PARENT
done
1458

被折叠的 条评论
为什么被折叠?



