技术指南 | 如何集成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的集成可以分为两种方式,一种是从Helix ALM侧进行,另一种是从Perforce Helix Core侧以触发器形式进行。任选一种即可。
Helix ALM中Attach Changlist或File
- 在Helix ALM设置Perforce Helix Core的参数
这一步骤在Helix ALM 客户端上操作设置,首先找到Tools > Source Control Integration Local Options,如下:
然后配置Perforce Helix Core的服务器账号地址和Helix Swarm的URL(Helix Swarm是Perforce Helix Core配套的评审工具):
- 在Helix ALM中设置Perforce Helix Core提交时的默认注释和事件
依然在Helix ALM客户端上操作设置,路径为Tools > Administration > Source Control Integration Options…详见下图:
在弹出的窗口里可以选择一个提交代码时需要触发的事件。
- 将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侧)
配置步骤:
- 安装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
- 下载触发器脚本,并修改一些配置
脚本触发器下载地址: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'
- 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%"
- 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:
- 可以点击链接跳转到 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
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM相关推荐
- 技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与敏捷规划工具Hansoft
Helix Core是Perforce公司旗下一款集源代码管理和内容协作为一体的版本配置与管理工具,可以帮助您管理随时间推移而产生的数字资产(代码,文件等)变更,处理每天数以千万计的传输,上千TB的数 ...
- java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明
文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...
- java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明...
文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...
- 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
1.什么是索引生命周期? 关于人生,有人这么说:"人,生来一个人,死去一个人,所以,人生就是一个人生老病死的简称." 在基于日志.指标.实时时间序列的大型系统中,集群的索引也具备类 ...
- Elasticsearch ILM 索引生命周期管理常见坑及避坑指南
之前的博文和视频都讲过 ILM 索引生命周期管理.但从近期的反馈和我自己的实战经验看,依然会有很多坑. 现将我自己和大家遇到的常见坑汇集如下,希望能让后来小伙伴少走弯路. 少啰嗦,直接上干货. 坑1: ...
- 数据与知识管理属于计算机科学研究方向中,基于知识的应用生命周期管理研究-计算机科学与技术专业论文.docx...
删fI||I 删fI||I Ⅲ 094 Specialty:£Q塑p坠主曼!S鱼i曼nQ曼鱼n亟墅堡hnQ!QgY Master Degree Candidate:Liu Yehui SuDeI-vi ...
- Elasticsearch 快照生命周期管理 (SLM) 实战指南
1.Elasticsearch 保证高可用性的方式 Elasticsearch 保证集群高可用的方式包含但不限于如下三种: 方式一:副本分片.主分片失效后,副本分片会被提升为主分片. 方式二:跨集群复 ...
- 自定义Unity对象生命周期管理集成ADO.NET Entity Framework
在Unity中,从Unity 取得的实例为 Transient.如果你希望使用多线程方式,就需要在组成时使用lifecycle参数,这时候取出的组件就不再是同一个了.在Unity IOC中,它支持我们 ...
- Elastic:Data tiers 介绍及索引生命周期管理 - 7.10 之后版本
Data tier 也就是数据层.是一个在 7.10 版本的一个新概念.数据层是具有相同数据角色的节点的集合,这些节点通常共享相同的硬件配置文件: Content tier (内容层)节点处理诸如产品 ...
最新文章
- 学号:201621123032 《Java程序设计》第6周学习总结
- 【修真院“善良”系列之十】初级Java程序员的学习路线
- hbase windows安装
- 5年前的Dubbo,2年前的Spring Cloud,都输给了这个架构!
- java环境_配置java环境变量
- 代码审查“思维导图”
- h264的码率控制 JVT-G012
- bash中(),{},(()),[],[[]]的区别
- 垃圾回收算法与实现系列-线程安全与锁简介
- 实操案例:字符串哈希表操作
- javascript中的this指向问题
- 股指期货首次和二次开户条件
- PICKIT3与ICD2比较。正在等待PICKIT3到货。
- pygame基本实现塔防游戏
- 单例模式的5种实现方式
- 最长不含重复字符的字符串
- ov5645 mipi 驱动
- ESTIMATE包计算肿瘤纯度
- 计算机怎么管理自启,电脑如何设置开机启动项
- 跨AZ部署最佳实践之Elasticsearch
热门文章
- WestFighting / 西途决斗 升级 - v1.1.0 版
- 创建图表_12个免费的顶级信息图表制作工具,让你也能做出漂亮的可视化图表...
- HTML 5 之旅 part 1 - 无头苍蝇
- return 0和return的区别
- 格林公式挖洞法中内曲线顺时针的直观解释
- 潘石屹学python-周鸿祎调侃潘石屹学python:他写的估计一百行里有十个漏洞
- 如何使用免费餐饮收银管理系统搭建一个外卖订餐平台网站?
- 论文阅读:SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers
- Flutter 中TextField详解
- 了解webpack是什么