Polarion 20R1发布及其最新特性

2020-05-19 Andy,Michael

作者 | Radek Krotil

翻译 | Andy,Michael

 

Polarion最新的年度大版本 - Polarion ALM 20R1,已于4月8日发布了!

 

与每个大版本的发布一样,这次发布包含了自上次年度大版本发布以来,期间所发生的三次(19.1, 19.2, 19.3)服务版本(Service Releases)中所包含的所有功能,它们是:

  • 文档基线19.2

  • LiveDoc重用和组合19.3

  • 用户组,用来实现更轻松的许可管理(19.3

在Polarion 20R1版本中,还包含了一些自19.3发布以来开发完成的新功能、现有功能的改进和增强,下面是一些亮点:

  • 集合 – 支持规格说明书的并行开发

  • Jenkins连接器 – 将CI/CD Pipeline集成到Polarion

  • 同步用户组与LDAP – 集中管理用户组

  • 全新的历史搜索 – 重新设计,聚焦于性能和可扩展性

 

1. 集合(Collection)

1.1 什么是集合?

集合用来支持并行的开发活动, 帮助通过审计和满足监管合规,并支持高级重用场景。乍一看,集合似乎是LiveDoc文档的简单容器,但它还不止这些。

复杂的瀑布(V模型)产品开发流程常用于监管严格的行业(航空航天、国防和汽车等),由不同的团队完成不同的开发阶段并不罕见,并行进行规格说明文档的开发也很常见。

这次引入的Polarion集合概念可以帮助项目实现并发工作流,可以帮助团队确保工作在正确的规格说明版本上,所创建的链接能指向正确的规格说明版本,并且集合可以进行归档以满足历史查询用途和满足法规遵从要求。

1.2 如何启用集合功能,并创建集合

要启用集合功能,管理员需要将集合主题添加到导航面板上,然后就可以新建集合、并选择哪些文档以及那些文档的哪些基线属于它了。

1.3 查看集合

一旦将文档及其基线纳入到集合中,您就可以打开该集合,然后工作在专用的界面中,这个界面仅显示与该集合相关的文档、链接、和动作。用户可以使用这一经过高效设计的视图以工作在集合上下文中,无须担心受到那些不属于该集合但仍存在于Polarion的对象的干扰。

1.4 在集合上下文中链接工作项

集合还允许您相互链接工作项,具有实时链接验证功能,以确保集合内的链接一致性,也就是说,当在集合上下文内创建链接时,您只能链接来自同一集合中的工作项。

1.5 集合的其它特性

另外,您还可以:
  • 关闭集合,锁定它以防它被修改
  • 配置集合定制字段和用户许可
  • 配置项目级的偏好,以确定缺省情况下,是隐藏还是显示那些指向集合外部的工作项链接。

说明:这还不是集合的全部功能,我们将在下一个版本中进一步扩展它的功能,包括跨项目的集合功能。

【Michael短评】集合功能是Polarion近年来的一个比较大的功能,意味着继工作项、LiveDoc、规划、测试执行、LiveReport(Wiki Page)后,Polarion又新增了一个对象。集合与Teamlive开发的可选择基线(Selectable Baseline)有一定的相似性,不过,可选择基线除了创建一致的文档集合外,还允许将保存在源代码仓库(SVN、Git、PasticSCM)中的源代码、乃至PLM中的图文档对象形成一致的基线集。

2. Jenkins连接器

2.1 Polarion与Jenkins CI/CD集成

如果没有自动化,当今和将来产品开发的复杂性是难以管理的, 特别是当涉及到产品变体的易变性以及需要支持所有不同的变体给软件带来的影响时。在软件领域,持续集成/持续交付(CI/CD)的最流行工具之一是开源工具Jenkins。

Polarion通过连接器支持持续集成/持续交付(CI/CD)技术,管理员可以通过连接器连接到远程CI/CD系统并与之交换数据,这样就允许Polarion调用由外部应用程序(Jenkins)执行的构建和测试,并导入构建和测试结果。

2.2 配置Jenkins连接器

这一连接器允许Polarion通过HTTP/S连接到任何Jenkins服务器,可通过用户密码或API令牌进行身份认证,从而将Polarion“插入”到DevOps链中。可以通过后台的“构建 > CI/CD集成”主题来配置连接器。

连接创建后,就可以对构建进行配置了。您需要知道远程Jenkins构建的URL、 以及任何它需要的参数。参数的设置可以是构建配置的静态部分;或者如果构建由Polarion工作流来触发,这些值可以从工作项或测试执行上的定制字段进行动态加载。
Jenkins中的构建可以是构建或测试,或二者的结合。

2.3 从Polarion发起Jenkins构建

已配置的构建可以多种方式进行触发。最简单的方法是使用Polarion构建主题手动启动构建。构建也可以通过Polarion调度程序进行调度并自动运行。第三种触发构建的选项是通过工作项或测试执行的工作流函数,这样就使构建作为状态转换的一部分来执行。第三个选项为高度集成的环境带来了巨大的价值:开发与Polarion结合更加紧密,并在Polarion中得到实时的跟踪。

2.4 在Polarion中监控Jenkins构建

当Jenkins构建是从Polarion发起时,通过轮询Jenkins的当前数据,Polarion也可以监控Jenkins的构建。构建编号和构建状态从Jenkins端获得并存储在构建主题的构建页面上。如果构建过程是由工作流函数触发的,这一信息还可以存储在工作项或测试执行的定制字段中,同时还带有一个链接,指向触发远程构建时所创建的实际Jenkins构建。

2.5 在Polarion中监控Jenkins构建

缺省情况下,当构建结束时,所有构建工件的集合将会被上传到Polarion。这一集合可以进行过滤,以避免上传不必要的数据到 Polarion。
Jenkins经常用于执行自动化测试。如果这些测试是将测试结果写入到xUnit文件,Polarion就允许用户导入测试结果到现有的测试执行、或由导入过程自动创建的测试执行中。
【Michael短评】Jenkins连接器的发布是一个渴望已久的特性。事实上,Teamlive很早就实现了与Jenkins的连接器,并通过最新的QA Hub框架,实现了与行业各种自动化测试工具的集成,详见:http://www.teamlive.com.cn/company/events/20200428-polarion-webinar.html

3. 用户界面更新

Polarion产品规划团队计划对用户界面进行更新,这一更新分为两步,20 R1版交付的是第一步的计划。第一步包括颜色、版式和图标的更新。第一步是第二步的先决条件,以确保用户能从当前顺利过渡到未来经过重新设计的Polarion。我们还对许多管理页面做了一些改进。有关20R1的UI变化,以及我们对UI方面未来规划的更多详细信息,请访问:https://blogs.sw.siemens.com/polarion/sneak-preview-visual-refresh-polarion-20/

 

4. 通过LDAP进行用户组同步

我们在Poalrion 19.3引入了用户组功能,然而,我们并没有就此止步。在20 R1版本,通过与LDAP的同步,允许用户自动分配用户到用户组。
每个用户组都可以通过 LDAP搜索过滤器与LDAP进行链接。如果用户组明细中的这一可选字段为空,该用户组就不与LDAP进行同步。如果这一字段非空,LDAP同步时就根据这一字段中所输入的LDAP查询条件尝试更新该组的用户。

4.1 通过作业来触发LDAP同步

LDAP同步可以手工触发,或通过作业自动执行,作业可以通过调整所支持的参数来调整同步行为。

4.2 在用户和角色管理中显示角色来源

增加了用户组功能后,由于角色既可以直接分配给用户,也可以通过用户组来分配给用户,因此,知道分配是如何执行的就显得比较重要了。在用户管理页面的全局角色与项目角色部分、以及角色管理页面的用户部分都新增一列来源(Source)。这一列会告知我们:角色是直接分配的,还是来自一个或多个用户组(并在那里列出所有的用户组)。

5. 其它增强

5.1 Jira连接器:支持同步多选字段

我们一直在持续不断地改进现有的连接器。Polarion 20 R1支持同步Jira的“多选”类型字段和Polarion的“多值枚举”类型字段, 这样就使用户能在这两个工具之间同步多值列表。

5.2 针对GitLab的可配置合并和来源目标

您现在可以为“GitLab合并请求”扩展配置来源和目标分支。
<extension id="GitLabExtension" label="Merge Request Panel" 
sourceBranchNameField="[name of custom field with working branch name]" 
targetBranchNameField="[name of custom field with target branch name]"/>

您还可以通过仅使用 targetBranchName参数来对目标分支进行硬编码。

5.3 新增WebService API

TrackerWebService新增了三个WebService:
  • Get Attachment(获取附件)

  • Export Document to PDF(导出文档为PDF)

  • Delete Work Item(删除工作项)

5.4 安全性增强

5.4.1 显示针对应用错误的堆栈跟踪

出于安全原因,系统报错时的对话框缺省情况下是不显示堆栈信息的。如果需要显示堆栈跟踪信息以进行开发和调试,可以通过新的系统配置属性重新启用堆栈跟踪:

com.siemens.polarion.ui.showStackTraces=true.

5.4.2 改进的Apache HTTPD安全配置

我们对Polarion帮助文档进行了扩展说明,以便更好地向客户建议有关Polarion的Apache HTTPD服务器的最佳安全配置。我们强烈建议所有客户翻阅帮助主题“高级安全配置”,以保护Polarion实例的header和cookie。缺省配置在这一点上是宽松的,目的是防止在评估期间出现问题,但生产环境就不能这么宽松了,需要按照帮助进行配置以达到最高的安全级别。

 

6. 技术维护

6.1 Windows安装包更新了附带的Apache HTTPD和Subversion

在20 R1发布中,我们升级了附带的Apache HTTP服务器到2.1.41版,附带的Subversion到1.12.2版。这些变化有如下影响:
  • 安装 Polarion之后,缺省情况下会使用HTTP协议供系统用户访问Subversion。对于生产用途,我们需要设置SVN协议。由于性能原因,我们不再推荐使用 FILE协议。

  • 针对Windows版安装的Apache HTTPD配置现在缺省情况下已不支持 TLS 1.0和TLS 1.1,因为这些TLS版本不再认为是足够安全的。所有主流的浏览器也都计划在不久的将来停止支持这些TLS版本。

6.2 升级Subversion到最新版本

随着官方对Subversion1.10+的支持,我们也支持并建议将生产仓库迁移到Subversion1.10中引入的最新仓库存储格式。将仓库迁移到新格式的最快方法是直接将svnadmin dump命令的输出“管道(Pipe)”到新仓库的svnadmin load命令。在我们的实验室中,我们能够在不到15小时的时间内迁移一个接近500 GB大小和470万个修订版的生产仓库。
命令示例:

nohup sh -c "svnadmin dump -M 2048 repo-1.9 | svnadmin load -M 2048 --no-flush-to-disk repo-1.10 > load-progress.log 2>&1" &

新的仓库格式使用不同的压缩算法,这种算法访问速度更快,但存储效率更低。根据仓库内容,它的大小在迁移之后可能会增长高达百分之十。我们对生产仓库的测试表明,存储增长率通常低10%的大小,而读写操作的吞吐量提高了5-10%。

建议每个周末都对仓库运行svnadmin pack命令,可以带来如下好处:

  • 最小化Subversion仓库的大小

  • 减少Subversion仓库文件的数量,以加速备份过程

  • 确保在Subversion服务器和操作系统级别上高效缓存Subversion数据

6.3 支持新的MS Edge

另外值得一提的是,Polarion支持基于Chromium的MS Edge浏览器,这种浏览器正在迅速普及。不再测试和支持旧版本的MS Edge。有关当前支持的浏览器和浏览器版本的信息已提供在Linux版和Windows版安装指南的“系统要求”章节和在线帮助中。所有这些都发布在Siemens Doc Center

6.4 附带的Maven仓库已进行更改

附带的Maven仓库已进行更改,不再包括任何第三方库。因此,计算和构建操作可能会需要访问Internet上的Maven中央仓库。如果Polarion服务器与Maven中央仓库没有连接,那么您可以考虑使用Maven仓库管理器。

7. 性能和可扩展性

我们的开发团队在持续改进Polarion的性能和可扩展性。在20R1版本中,我们交付了一个重大性能改进项目,它为几乎所有的Polarion功能都带来了许多好处。

7.1 重新设计了历史搜索

Polarion处理HEAD和历史数据的方式是不同的。使用不同的机制和算法来搜索和处理最新的数据和历史数据。针对历史数据的搜索引擎已经完全重新设计。一些使用场景明显更好/更快(例如趋势图),而另一些使用场景的性能与之前类似。然而,在所有情况下,算法的可扩展性都得到了改进,使得整体历史操作现在表现得更好,并且内存分配更低,特别是当Polarion被数百个并发用户使用的负载场景下时。
这一重新设计后的显著好处包括但不限于:
  • Lucene的历史搜索执行更快,达到90%+

  • SQL的历史搜索执行更快,达到95%+

  • 打开文档和页面的历史版本更快,达到95%+

  • 当LiveDoc中显示了链接工作项时,工作项的延迟加载速度更快

  • 更快地加载文档比较视图

  • 更快地初始化显示趋势图小部件

  • Polarion重启后,DB History Creator作业的持续时间缩短到数分钟

Polarion创建了所谓的“基线视图”来过滤Lucene历史搜索的结果,以便得到仅存在于特定基线中的对象。缺省情况下,Polarion会预加载和缓存最近180天的基线视图,这确保了过往6个月的趋势图的快速显示。额外的调整虽然可以改善针对更早历史数据搜索的性能,但会增加内存消耗。

7.2 可配置的附件索引

Polarion缺省情况下会对附件的内容创建索引,这样就可以根据附件的内容来搜索对象。例如,可以通过所附的Excel工作表的内容找到工作项。不过,对于某些数据,附件内容的索引可能会大幅度增长,而不会真正为最终用户提供什么好处。

在20R1版本中,我们提供了更细粒度的配置,哪些附件类型会对内容进行索引。此外,还对索引类型的缺省列表进行了检查,例如,缺省情况下不再对压缩文件进行索引。为了说明这一小小改变所带来的的巨大好处,以一个我们最大的客户之一的数据为例:

  • 附件索引从 84 分钟缩短到了 23分钟 (-73%)

  • 历史索引从32小时缩短到了不足19小时(-42%)

  • 磁盘上的Polarion数据大小从812 GB减少到了91 GB(-89%)

有关其它详细情况,请参考Polarion帮助主题“需要创建索引的附件文件类型”。

7.3 在导航面板中加载文档&页面更快

虽然我们正计划对现有导航面板进行重大修改,但我们仍然提供了一种方法,可以在现有导航中加速加载文档和页面,即使项目中有数千份文档和LiveReport页面时。从这个版本开始,将对象加载到导航面板中可以放松权限检查,从而加快80%以上的速度。通过这些设置,用户可以在导航面板中看到受限对象的标题,但无法打开实际对象。

7.4 窗体扩展只能异步加载

在Polarion 19.3中可以选择异步加载工作项窗体扩展,此选项现在成为唯一的选项。此更改确保用户可以快速获取Polarion数据,同时可以在后台处理工作项脚本化部分涉及的外部内容。

 

8. 值得注意的问题修复

  • 无法通过net.sf.ehcache找到GitHubCommit
  • Jira连接器: 同步已清空的描述字段时出现NullPointerException

  • Web Service会话和事务管理中的内存泄漏

  • 19.1中回归测试: 比较带有已合并单元格的大表格时出现索引越界错误

  • 19.3中回归测试: 刷新延迟加载的文档后所引用工作项的可编辑字段

  • 19.3中回归测试: 关于Lucene查询硬限制的字段重新计算失败

  • 19.3中回归测试: 打开属性侧边栏时在文档中创建了错误的工作项

  • GitHub中的仓库或认证信息错误,Bitbucket连接器配置会中断Polarion启动
有关本版本中所有已修复问题的列表,请查看 Resolved Issues 文件。

 

9. 最后重要的几点

9.1 从2020开始的新发布周期

也许您还不知道,这是我们已经实行了很多年的季度发布策略的最后一次发布了。从2020年开始,我们开始切换为一年两个大版本,再加上根据客户的请求实行频繁的hotfix发布的策略。

9.2 更新信息

20R1版本是针对所有Polarion ALM产品的更新。对于尚在维护期的客户来说,可免费升级到这一版本。

9.3 评估

如果您想试用,可以联系Teamlive,邮件:info@teamlive.com.cn, 我们专业的Polarion售前团队将支持您。

 

 

相关信息:

Polarion 2019SR3 发布及最新特性

 

 


微信扫一扫
关注该公众号