Gerrit 批量创建project 并修改project权限

OUTPUT_PROJECT_LIST_FILE_NAME为要创建的project name,可以将这些project name 存放在一个文件中,每行一个project    

批量创建project 的命令如下:

for i in `cat $OUTPUT_PROJECT_LIST_FILE_NAME`;
    do
        echo $i
        echo "ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $PROJECT/$i"
        ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $PROJECT/$i
    done

如何批量修改project 的权限呢?

gerrit 在创建project 时默认继承All Projects  这个project的权限

所以我们可以创建一个工程空 project,仅仅作为权限配置,然后其他project都继承这个project即可。

如创建project  ,名字叫Android    配置好其权限

parent=Android
for repository in `ssh server_ip gerrit ls-projects | grep people\/ `; do
    ssh -p 29418 username@server_ip gerrit set-project-parent --parent $parent $repository
done

两者结合起来就是创建时就设置好权限,如下:

    parent=Android
    for i in `cat $OUTPUT_PROJECT_LIST_FILE_NAME`;
    do
        echo $i
        echo "ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $PROJECT/$i"
        ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $PROJECT/$i
        echo "set $PROJECT/$i permissions"
        ssh -p 29418 $USER_NAME@$SERVER_IP gerrit set-project-parent --parent $parent $PROJECT/$i
    done
发布了44 篇原创文章 · 获赞 31 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/u013463707/article/details/97271837
今日推荐