一、背景
本文先通过一个shell下令,讲述如何创建gerrit项目,下一篇文章我们将使用java语言实现。
二、使用shell脚本创建gerrit项目
分为以下几步:
- 第一、创建负责人组;
- 第二、创建开发者组;
- 第三、创建项目;
- 第四、给项目赋权限。

前三步都比力简单,复杂的点主要在于权限这块。
- #!/bin/bash
- #
- # 创建gerrit项目
- #
- # ./create_gerrit_project.sh user-service
- #
- # 参数说明:
- #
- # service-name: 项目名称
- project_name=$1
- die() {
-
- echo $1
- exit 1
- }
- [[ -z "$project_name" ]] && die "请输入项目名称"
- group_owner_id="34dd8f718972d73c9a3474b2sfad2d52x2cf596f"
- GERRIT_USER_PWD="admin:123456"
- GERRIT_ADDR="http://192.168.5.60:8080/a"
- # 1、创建负责人分组
- owner_group_name="$project_name-owner"
- rsp=$(curl -u $GERRIT_USER_PWD -s -X PUT "${GERRIT_ADDR}/groups/${owner_group_name}" -H "content-type: application/json" -d "{ "description": "${owner_group_name}", "visible_to_all": false, "owner_id": "${group_owner_id}"}")
- owner_group_id=$(echo "${rsp:5}" | jq '.id' | sed 's#"##g')
- # 2、创建开发者分组
- dev_group_name="$project_name-dev"
- rsp=$(curl -u $GERRIT_USER_PWD -s -X PUT "${GERRIT_ADDR}/groups/${dev_group_name}" -H "content-type: application/json" -d "{ "description": "${dev_group_name}", "visible_to_all": false, "owner_id": "${owner_group_id}"} ")
- dev_group_id=$(echo "${rsp:5}" | jq '.id' | sed 's#"##g')
- # 3、创建项目
- real_project_name="root%2F${project_name}"
- rsp=$(curl -u $GERRIT_USER_PWD -s -X PUT "${GERRIT_ADDR}/projects/${real_project_name}" -H "content-type: application/json" -d "{ "description": "${project_name}", "submit_type": "INHERIT", "owners": [ "${owner_group_name}" ]} ")
- echo $rsp
- # 4、设置权限
- rsp=$(curl -u $GERRIT_USER_PWD -s -X POST "${GERRIT_ADDR}/projects/${real_project_name}/access" \
- -H "content-type: application/json" \
- -d "{ "add": { \
- "refs/*": { \
- "
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |