# 单一仓库连接流程

整体连接流程

  • 企业注册和认证: 在数产平台完成企业注册及认证
  • 创建单一仓库(配置):在进行代码仓库连接前,需要在保护平台创建仓库(配置)并保存创建后生成的Webhook Url
    Webhook Secret用于后续代码仓库的连接配置
  • 在企业内代码管理工具平台配置webhook:配置完成后,对应企业代码仓库后续的代码提交摘要信息会自动对接数产平台存证
    进行存证(平台目前支持的Git包含:Github、Gitlab、Bitbucket、Gitblit)
  • 验证代码仓库连接配置是否成功:进行过连接配置的代码仓库,企业成员提交(push)代码后,在数产平台会存在存证记录。
graph TD
    ss((开始))
    ss --> s1[企业注册和认证]
    s1 --> s2[创建单一仓库配置]
    s2 --> s3[获取Webhook Url和Webhook Secret]
    s3 --> s4[在企业内代码管理工具平台配置webhook]
    s4 --> s5[验证代码仓库连接配置是否成功]
    s5 --> se((结束))

# 企业注册和认证

如果您暂未完成企业注册,请按照注册/登录及企业认证流程流程完成注册及认证

# 创建单一仓库(配置)

  1. 登录数产平台,点击左侧「超级软著」选项,进入超级软著对接仓库列表页。
  2. 点击"单一仓库"的"创建"按钮,进入配置页面。
  3. 在"仓库名称"文本框中输入要对接的仓库名称。
  4. 在"对接平台类型"下拉框中选择需要对接的平台类型。如:Github、Gitlab、Bitbucket、Gitblit
  5. 在"仓库简介"文本框中输入要对接的仓库简介。
  6. 点击"确认"按钮,完成仓库创建,进入详情页。
  7. 复制保存仓库创建后生成的Webhook UrlWebhook Secret用于后续代码仓库的连接配置。

单一仓库配置详情页视图
单一仓库配置详情页视图


# 在企业内代码管理工具平台配置webhook

  1. 在Github上打开需要推送存证的仓库。
  2. 点击仓库页面上方的"Settings"选项,然后选择"Webhooks"。
  3. 点击"Add webhook"按钮,进入"Add webhook"页面。
  4. 在"Payload URL"文本框中输入数产平台中复制的Webhook Url,该URL即为推送存证对接的API地址。
  5. 在"Content type"下拉框中选择"application/json"。
  6. 在"Secret"文本框中输入数产平台中复制的Webhook Secret
  7. 在"Which events would you like to trigger this webhook?"下选择触发推送的commit信息的事件,选择
    "Just the push event"。
  8. 点击"Add webhook"按钮,完成Github Webhook配置。

Github配置完成后视图
Github配置完成后视图

  1. 在Gitlab上打开需要推送存证的仓库。
  2. 点击仓库页面的左侧边栏中的"Settings"选项,然后选择"Webhooks",进入webhook"页面。
  3. 在"URL"文本框中输入数产平台中复制的Webhook Url,该URL即为推送存证对接的API地址。
  4. 选择URL默认展示方式为:"Show full URL"。
  5. 在"Secret token"文本框中输入数产平台中复制的Webhook Secret
  6. 在"Trigger"下选择触发推送commit信息的事件,选择"Push events"下的"All branches"。
  7. 在"SSL verification"下勾选"Enable SSL verification"。
  8. 点击"Add webhook"按钮,完成Gitlab Webhook配置,滑动页面至最底部查看配置信息。

Gitlab配置完成后视图
Gitlab配置完成后视图

首先进行webhooks插件安装(如果已完成插件安装,请跳过此过程):

  1. 在Bitbucket上打开任意代码仓库。
  2. 点击仓库页面左下方的"Repository settings"选项,进入仓库设置页面。
  3. 点击左侧"Hooks"按钮,进入hooks页面。
  4. 点击页面右上角"Add hook"按钮,进入插件应用市场,搜索"Post-Receive WebHooks"并进行安装。 Bitbucket插件安装后视图

完成插件安装后,进行webhook配置:

  1. 在Bitbucket上打开需要推送存证的仓库。
  2. 点击仓库页面左下方的"Repository settings"选项,进入仓库设置页面。
  3. 点击左侧"Post Webhooks"按钮,进入webhook页面。
  4. 在Webhooks设置页面中,单击“Add webhook”按钮,进入Webhook配置页面。
  5. 在"Title"文本框中输入Webhook的名称.
  6. 在"URL"文本框中输入数产平台中复制的Webhook Url,该URL即为推送存证对接的API地址,请求方式为POST.
  7. 在"URL"底部选项框中选择"Enable Authentication",选择"Authentication type"为"BEARER",在"Token"文本框中输入数产平台中复制的Webhook Secret.
  8. 在"Repository events"下选择触发推送commit信息的事件,选择"On push",取消其余选项勾选。
  9. 取消"Pull request events"下所有选项勾选。
  10. 点击"Save"按钮,完成Bitbucket 单一仓库Webhook配置。

Bitbucket配置完成后视图
Bitbucket配置完成后视图

# 一、服务端配置流程:
  1. 确认Gitblit存储数据(配置数据和Git存储库数据)的文件夹路径: 记为baseFolder
    默认情况下为docker内路径:/var/opt/gitblit
  2. 添加webhook脚本:将平台提供的webhook.groovy脚本复制到${baseFolder}/etc/groovy/ 目录下
  3. 修改系统配置文件
    1. 找到 ${baseFolder}/etc/gitblit.properties 文件
    2. 在文件末尾添加两行配置:
       groovy.postReceiveScripts = webhook
       groovy.customFields = webhookURL=Webhook_URL webhookToken=Webhook_Token
  4. 重启Gitblit服务
  1. 确认Gitblit的安装路径:记为baseFolder
  2. 添加webhook脚本:将平台提供的webhook.groovy脚本复制到 ${baseFolder}/data/groovy/ 目录下
  3. 修改系统配置文件
    1. 找到 ${baseFolder}/data/gitblit.properties 文件
    2. 在文件末尾添加两行配置:
     groovy.postReceiveScripts = webhook
     groovy.customFields = webhookURL=Webhook_URL webhookToken=Webhook_Token
  4. 重启Gitblit服务
# 二、用户端配置流程:
  1. 在Gitblit打开需要推送存证的仓库。
  2. 点击仓库页面右上方的"编辑"选项,进入系统设置页面。
  3. 点击左侧"接收"选项,滑动页面至最底部,找到"自定义域"。
  4. 在"Webhook_URL"文本框中输入数产平台/基座超级中复制的Webhook Url,该URL为推送存证对接的API地址。
  5. 在"Webhook_Token"文本框中输入数产平台/基座超级中复制的secret,用于推送存证对接时的信息验证。
  6. 点击"保存"按钮,完成gitblit用户端配置。

Gitblit(用户端)配置完成后视图
Gitblit(用户端)配置完成后视图

# 验证代码仓库连接配置是否成功

  1. 在企业内对进行过连接配置的仓库进行一次代码提交(push)。
  2. 登录数产平台:
    1. 查看对应仓库内是否存在对应时间的存证记录。
    2. 查看对应仓库内连接状态是否为"连接正常"。
    3. 查看对应仓库内存证记录当前状态是否为"存证中"或"存证成功"。
  3. 若存在记录,状态为"连接正常"且存证状态为"存证中"或"存证成功",则表示代码仓库连接配置成功

数产平台仓库详情页视图
数产平台仓库详情页视图