Helix Core是Perforce公司旗下一款集源代码管理和内容协作为一体的版本配置与管理工具,可以帮助您管理随时间推移而产生的数字资产(代码,文件等)变更,处理每天数以千万计的传输,上千TB的数据,以及一万多个并发提交。
Helix ALM是可追溯的端到端的软件生命周期管理(ALM)工具,能够掌握整个应用程序周期,确保按时发布高质量的版本,满足规定的标准。
龙智技术专家团队成员陈红华以简明扼要的方式呈现了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中Attach Changlist或File
1. 在Helix ALM设置Perforce Helix Core的参数
这一步骤在Helix ALM 客户端上操作设置,首先找到Tools > Source Control Integration Local Options,如下:
然后配置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里的条目。
配置需求:
配置步骤:
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
2. 下载触发器脚本,并修改一些配置
脚本触发器下载地址: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’
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
如需了解DevSecOps行业最新动态与消息,请立即联系DevSecOps研发安全运营一体化解决方案供应商——龙智:
官 :www.shdsd.com
电话:400-666-7732
邮箱:marketing@shdsd.com
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!