写点什么

【龙智技术指南】Helix4Git 简明使用手册

  • 2022 年 7 月 25 日
  • 本文字数:2601 字

    阅读完需:约 9 分钟

【龙智技术指南】Helix4Git简明使用手册


Helix4Git 是一款高性能的 Git 服务器(在 Perforce 服务器内部),它使 Git 用户可以使用 Git 命令访问源代码。Helix TeamHub 是一款 Git 代码托管工具,它们同为 Perforce Git 工具。

当您将这两个工具与 Perforce 版本管理工具 Helix Core 结合使用时,您可以通过单一可信的代码源进行跨开发团队管理。如果您正在与开源或第三方开发团队合作,这一点尤其重要。

本文由龙智技术专家团队成员邱洁玉撰写,她以简明扼要的方式呈现了 Helix4Git 的使用方法,方便中国用户使用。如需了解更多关于 Helix4Git、Helix TeamHub 以及 Helix Core 的相关信息,请联系Perforce授权合作伙伴——龙智



简介


Helix4Git 是高性能的 Git 服务器(在 Perforce 服务器内部)。这使 Git 用户可以像通常使用 Git 命令那样访问其源代码。


当用户将 Helix4Git 与 Helix Core 一起使用时,用户可以在整个开发团队中维护唯一可信来源。如果用户正在与开源或第三方开发团队合作,这一点尤其重要。


Helix4Git 有两部分构成:

  • Helix 服务器(即 p4d)

  • Git connector,相当于一个 git 服务器


用户可以使用 Git 客户端从 gragh 仓库拉取文件后进行更改,然后再将文件推送至 gragh 仓库。Git 客户端与 Helix 服务器通过 git connector 通信。


安装


2.1  安装 Git connector 要求:

  • Helix Core 服务器版本要在 2017.1 以上

  • Git 版本在 1.8.5 以上

  • 推荐 git connector 与 helix server 安装在不同的机器上


2.2  Git connector 目前可安装在以下 linux 平台:

  • Ubuntu 12.04 LTS (Precise), 14.04 LTS (Trusty), 16.04 LTS (Xenial), 18.04 LTS (Bionic), 20.04 (Focal)

  • CentOS or Red Hat 6.x, 7.x, 8.x

  • SUSE Linux Enterprise Server 11, 12, 15


2.3  本文配置环境为:

操作系统: centos7

Perforce helix core: 2021.2

Git connector: 2019.2

Git version: 2.34.0


2.4  安装步骤

2.4.1 导入软件签名

sudo rpm --import http://package.perforce.com/perforce.pubkey
复制代码

2.4.2 配置 repo 地址

创建/etc/yum.repos.d/Perforce.repo 并添加以下内容:


[perforce]name=Perforce for CentOS $releasever - $basearchbaseurl=http://package.perforce.com/yum/rhel/7/x86_64/enabled=1gpgcheck=1gpgkey=http://package.perforce.com/perforce.pubkey
复制代码

其中 7 表示 centos 的版本。


2.4.3 安装 Git Connector package

sudo yum install helix-git-connector
复制代码


配置

3.1  配置 Git connector

root 执行以下命令进入配置脚本交互模式:

$ sudo /opt/perforce/git-connector/bin/configure-git-connector.sh
复制代码


配置完成后有以下提示:



3.2  Helix Server 权限配置

super 权限的用户执行以下命令给 gconn-user 用户需要的权限:

p4 protect
复制代码

然后在权限表增加一行:

list user gconn-user * //...
复制代码

其它用户如需要操作 graph 仓库,需要分配相应权限:

p4 grant-permission -d graphDepotName -u username -p adminp4 grant-permission -d graphDepotName -u username -p create-repop4 grant-permission -d graphDepotName -u username -p write-all
复制代码

3.3  创建 graph 仓库

在配置过程中默认创建了一个名为 repo 的仓库,如果想创建其他的 graph 仓库,输入命令:

p4 depot -t gragh depotname
复制代码

创建完成之后需要给 gconn-user 赋予权限,参见 3.2。


3.4  创建 repos

创建存在于 gragh 仓库的 repo,前提是此用户有 create-repo 权限:

p4 repo //graphDepotName/repo1
复制代码


3.5  Git 用户认证配置

根据 Git connector 的配置,Git 用户如果想从 Helix4Git 上 pull/push repos 则需要设置 ssh 或者 https 认证,设置完成后 Git 用户就可以通过 url 和 Helix4Git 一起协同工作。

  • ssh:

git <command> git@ConnectorHost:graphDepotName/repoName
复制代码
  • https:

git <command> https://username@ConnectorHost/graphDepotName/repoName
复制代码

3.5.1 ssh

客户机创建 ssh 密钥:

ssh-keygen -t rsa
复制代码

将公钥导入 Helix Server 机器,当有多个公钥时,-s 指定此次公钥作用名字

p4 -p helixserver:1666 -u admin pubkey -u bruno -s scopeName -i < id_rsa.pub
复制代码

等待几分钟密钥更新后,验证是否导入成功:

git clone git@ConnectorHost:@info
复制代码

3.5.2 https

使用 https 时需要根据提示输入 Helix Server 的账户名和密码。

执行以下命令关闭 SSL 认证:

export GIT_SSL_NO_VERIFY=truegit config --global http.sslVerify false
复制代码


如何使用 Helix4Git


4.1  Git 客户端 push 文件到 Helix4Git 服务器

使用 Git 客户端 push repos 到 Helix Core 服务器的 gragh 仓库

git push git@ConnectorHost:graphDepotName/repoName
复制代码


4.2  p4 侧查看上传到 gragh 仓库的内容

4.2.1 创建工作区,同步 repos

命令行或 p4v 创建工作区,工作区 type 字段选择 gragh 类型,view 字段定义仓库到本地的映射:



创建完工作区后,使用以下命令就可以更新 gragh 仓库的最新内容到本地:

p4 sync //graphDepotName/repoName/...
复制代码

也可在 p4v 上拉取最新:



4.2.2 repo 包含多个分支

如果项目有多个分支,那么 push 到 Helix4Git 的默认分支是 master,以下命令 repo 包含所有分支:

git push git@ConnectorHost:graphDepotName/repoName --all
复制代码

在 p4 工作区可以在 repo 内切换分支:

  • 命令行切换:

git push git@ConnectorHost:graphDepotName/repoName --all
复制代码
  • p4v 切换:

4.2.3 repo 指定分支

如果项目有多个分支,那么 push 到 Helix4Git 的默认分支是 master,如果需要指定分支,比如指定 dev 分支,可以在 repo 定义里加入以下字段:


DefaultBranch: refs/heads/dev
复制代码

Git 客户端切到(checkout)dev 分支后执行 push 命令将内容提交到相应的 repo。


4.3  git 侧更新文件,p4 侧拉新

git add .git commit -mgit push git@ConnectorHost:graphDepotName/repoName
复制代码

执行 p4 sync 查看文件可以同步到 p4 工作区:


4.4  p4 侧更新文件,Git 侧拉新

使用 p4 命令行提交(p4v 暂不支持提交):



提交完成可在 p4 侧看到文件相应的提交历史记录:



Git 客户端拉取 Helix4Git 端代码,获取到 p4 侧上传的文件内容:



4.5  在 p4 工作区内组合普通仓库和 graph 仓库

graph 仓库(gitrepo)和 p4 普通仓库的内容可以组合到同一个 p4 工作区内,例如习惯 Git 操作的用户可以将代码保存在 graph 仓库中,平常使用 Git 命令操作,其他用户可以直接使用 p4 固有的 local,stream 仓库,需要构建时,可以按需求将不同仓库的内容组合到同一个工作区中,一条命令即可下载全部需要的数据,并且可以共享一套统一的备份方案。


工作区定义:



查看工作区组合内容:



参考文档


Helix4Git 官方手册:https://bit.ly/3znL1YA

如想免费试用 Helix4Git、Helix TeamHub 以及 Helix Core,请立即联系Perforce授权合作伙伴——龙智

电话:400-775-5506

邮箱:marketing@shdsd.com

用户头像

还未添加个人签名 2021.05.18 加入

还未添加个人简介

评论

发布
暂无评论
【龙智技术指南】Helix4Git简明使用手册_Helix Core_龙智—DevSecOps解决方案_InfoQ写作社区