Devops系列之对接Gerrit的设计与实现(二)-- shell编程实现 ...

打印 上一主题 下一主题

主题 1953|帖子 1953|积分 5859

一、背景

本文先通过一个shell下令,讲述如何创建gerrit项目,下一篇文章我们将使用java语言实现。
二、使用shell脚本创建gerrit项目

分为以下几步:


  • 第一、创建负责人组;
  • 第二、创建开发者组;
  • 第三、创建项目;
  • 第四、给项目赋权限。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表