写点什么

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

  • 2022-11-14
    上海
  • 本文字数:2308 字

    阅读完需:约 8 分钟

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


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


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


通过集成Perforce Helix CoreHelix 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


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 里的条目。


配置需求:


  • 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 makewget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xztar -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 -m1Change 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

用户头像

还未添加个人签名 2021-05-18 加入

分享DevSecOps解决方案最新动态,帮助您学习与使用Atlassian, Perforce, Whitesource, Cloudbees及龙智自研产品,实现软件研发的高度协同与自动化,提高交付效率与质量,并确保开发过程可追溯、可度量。

评论

发布
暂无评论
技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM_版本控制_龙智—DevSecOps解决方案_InfoQ写作社区