技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM

Helix Core是Perforce公司旗下一款集源代码管理和内容协作为一体的版本配置与管理工具,可以帮助您管理随时间推移而产生的数字资产(代码,文件等)变更,处理每天数以千万计的传输,上千TB的数据,以及一万多个并发提交。

Helix ALM是可追溯的端到端的软件生命周期管理(ALM)工具,能够掌握整个应用程序周期,确保按时发布高质量的版本,满足规定的标准。

通过集成Perforce Helix Core和Helix
ALM,您将拥有完整的追溯能力——从需求,到源代码,到测试,再到Bug。这样的集成能给团队带来在整个开发过程中可以信任的、唯一的事实来源。

龙智技术专家团队成员陈红华以简明扼要的方式呈现了Perforce Helix Core (P4V) 和Helix
ALM的集成方法,方便中国用户参考使用。如需了解更多关于Perforce Helix Core和Helix
ALM的相关信息,请联系Perforce授权合作伙伴——龙智。
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第1张图片

Perforce Helix Core (P4V) 和Helix ALM的集成可以分为两种方式,一种是从Helix ALM侧进行,另一种是从Perforce Helix Core侧以触发器形式进行。任选一种即可。

Helix ALM中Attach Changlist或File

  1. 在Helix ALM设置Perforce Helix Core的参数

这一步骤在Helix ALM 客户端上操作设置,首先找到Tools > Source Control Integration Local Options,如下:
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第2张图片

然后配置Perforce Helix Core的服务器账号地址和Helix Swarm的URL(Helix Swarm是Perforce Helix Core配套的评审工具):

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第3张图片

  1. 在Helix ALM中设置Perforce Helix Core提交时的默认注释和事件
    依然在Helix ALM客户端上操作设置,路径为Tools > Administration > Source Control Integration Options…详见下图:
    技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第4张图片

在弹出的窗口里可以选择一个提交代码时需要触发的事件。

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第5张图片

  1. 将Perforce Helix Core的提交关联到Helix ALM
    例如:Helix ALM中有一个名为bug1的issue,可以将已提交的Changelist关联到bug1的Source Files字段,也可以将工作区中的文件与bug1相关联,在Helix ALM中进行Checkout,提交等。

说明:关联文件需要在章节1这一步骤中设好工作区,关联Changelist则不需要。

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第6张图片
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第7张图片

选择了关联的文件后,修改完成后,可以点击Submit & Fix提交文件,并触发章节2中的事件。

说明:事件要生效,需要满足工作流条件,例如bug需要走到accept状态,并且已经指派给了当前用户。

这里bug1满足了fix事件的执行条件,所以弹出一个fix事件对应的对话框,用于填写相关内容。

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第8张图片

为了方便查看代码差异,也可以将提交的Changelist与bug1相关联(关联file和关联Changelist互不影响)。

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第9张图片

在Helix ALM中关联的Changelist会显示为到Helix Swarm的提交记录链接。点击后可以在Helix Swarm中看到本次提交具体修改的代码行。
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第10张图片

Perforce Helix Core侧关联Helix ALM里的条目

可以在Perforce Helix Core侧配置触发器,在提交时自动关联Helix ALM里的条目。

配置需求:

Helix ALM 2017.1或以上版本
Helix ALM CGIs
P4Python 可安装3.6版 (Perforce Helix core侧)
Python3.5考虑到P4Python可以安装3.6(Perforce Helix Core侧)

配置步骤:

  1. 安装Python3.6
[root@operation ~]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
tar -xvJf Python-3.6.6.tar.xz
[root@operation ~]# cd Python-3.6.6
[root@operation Python-3.6.6]# ./configure prefix=/usr/local/python3
[root@operation Python-3.6.6]# make && make install
[root@operation Python-3.6.6]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@operation bin]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[root@operation ~]# pip3 install --upgrade pip
  1. 下载触发器脚本,并修改一些配置

脚本触发器下载地址:https://swarm.workshop.perforce.com/files/guest/dsheets/p4attachtohelix

os.environ['P4TRUST']='/root/.p4trust'
EXTERNAL_PROVIDER_URL = 'http://192.168.80.58/cgi-bin/ttextpro.exe'
PROVIDER_KEY = '{bb2020d5-1245-43b3-9f7d-447158c0a4b3}:{29f02f83-6b6d-43e2-907d-0acbf40b7bfe}'
P4PORT = 'ssl:192.168.56.106:1666'
P4USER = 'fortrig'
P4PASSWD = '0D224A470F52DA1C536EWEB52854C6F5'
  1. Perforce Helix Core中添加以下两行触发器
check-ALM-item-exists-on-change change-submit //... "/usr/bin/python36 /opt/perforce/triggers/attachToHelixALM.py %changelist% verify"
attach-to-ALM-item-on-change change-commit //... "/usr/bin/python36 /opt/perforce/triggers/attachToHelixALM.py  %changelist%"
  1. Perforce Helix Core提交时将Helix ALM的关键字写在注释里。关键字分为三种,默认是IS-(Defects),TC-(测试用例),RQ-(需求)。

这里指定一个[IS-1], 方括号是必须的,对应于Helix ALM中的一个defect:bug1。

[root@localhost 106_106ws]# p4 changes -m1
Change 1057 on 2021/07/09 by super@106_106ws '       [IS-1] test trigger '

提交成功后,在 Helix ALM侧可以看到,提交记录已经被自动关联到了bug1:

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第11张图片

  1. 可以点击链接跳转到 Helix Swarm中查看代码差异:

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_第12张图片

参考链接:
1.https://help.perforce.com/helix-alm/helixalm/2020.1.0/client/Content/ClientUser/WorkingWithSourceFiles.htm

2.https://help.perforce.com/helix-alm/helixalm/2020.3.0/client/Content/ClientUser/Admin/ConfiguringTriggersAttachChangelistsFromHelixVCS.htm

你可能感兴趣的:(Perforce,Helix,Core,Helix,ALM,版本控制,版本管理)