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的集成可以分为两种方式,一种是从Helix ALM侧进行,另一种是从Perforce Helix Core侧以触发器形式进行。任选一种即可。
这一步骤在Helix ALM 客户端上操作设置,首先找到Tools > Source Control Integration Local Options,如下:
然后配置Perforce Helix Core的服务器账号地址和Helix Swarm的URL(Helix Swarm是Perforce Helix Core配套的评审工具):
在弹出的窗口里可以选择一个提交代码时需要触发的事件。
说明:关联文件需要在章节1这一步骤中设好工作区,关联Changelist则不需要。
选择了关联的文件后,修改完成后,可以点击Submit & Fix提交文件,并触发章节2中的事件。
说明:事件要生效,需要满足工作流条件,例如bug需要走到accept状态,并且已经指派给了当前用户。
这里bug1满足了fix事件的执行条件,所以弹出一个fix事件对应的对话框,用于填写相关内容。
为了方便查看代码差异,也可以将提交的Changelist与bug1相关联(关联file和关联Changelist互不影响)。
在Helix ALM中关联的Changelist会显示为到Helix Swarm的提交记录链接。点击后可以在Helix Swarm中看到本次提交具体修改的代码行。
可以在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侧)
配置步骤:
[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
脚本触发器下载地址: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'
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%"
这里指定一个[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:
参考链接:
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