如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM
Helix ALM中Attach Changlist或File
1. 在Helix ALM设置Perforce Helix Core的参数
这一步骤在Helix ALM 客户端上操作设置,首先找到Tools > Source Control Integration Local Options,如下:
Helix Core Unity版本控制 - 从小规模开始,然后再扩大规模。
成千上万的开发人员和创意人员。
数以千万计的日常交易。
100TB+的数据(代码、二进制文件等)。
10000+并发提交。
然后配置Perforce Helix Core的服务器账号地址和Helix Swarm的URL(Helix Swarm是Perforce Helix Core配套的评审工具):
2. 在Helix ALM中设置Perforce Helix Core提交时的默认注释和事件
依然在Helix ALM客户端上操作设置,路径为Tools > Administration > Source Control Integration Options…详见下图:
在弹出的窗口里可以选择一个提交代码时需要触发的事件。
3. 将Perforce Helix Core的提交关联到Helix ALM
例如:Helix ALM中有一个名为bug1的issue,可以将已提交的Changelist关联到bug1的Source Files字段,也可以将工作区中的文件与bug1相关联,在Helix ALM中进行Checkout,提交等。
说明:关联文件需要在章节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里的条目
可以在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
可以在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
os.environ['P4TRUST']='/root/.p4trust'
EXTERNAL_PROVIDER_URL = 'https://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'
3. 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%"
4. 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:
5. 可以点击链接跳转到 Helix Swarm中查看代码差异:
参考链接:
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