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