提交和升级包
在 CCD 包准备就绪后,使用自动化构建部署来继续操作。自动化构建部署过程包括按照您的授权和环境全景图来编排对配置和自定义的升级。
可通过将 CCD 包和内容清单文件上传到存储帐户的相应位置来提交构建。必须先将 CCD 包上传到 /data/builds。然后,必须将内容清单文件上传到 /data/builds/deploy。
此操作会触发自动化构建部署工作流。该过程通过以电子邮件形式接收的通知任务驱动。电子邮件中包含的信息将指导您完成各项步骤。任务审批者会在内容清单文件中进行声明。有关内容清单文件的示例,请参阅
触发自动部署主题。
|
|
作为先决条件,请注意以下事项:
• 必须设置 Azure BLOB 存储位置。必须从 PTC Cloud 获取授权详情。
◦ PTC 会为此活动提供一个 SAS URL。
◦ 您应通过 PTC 支持门户提交请求,以将您的 IP 地址加入到允许列表中。在问题详情中,提供一个 stable IP 地址。
• 必须提交请求,以将您的管线配置为与内容清单文件中提及的值相匹配。例如, int1 或 pipeline1。有关 deploy_pipe 属性的详情,请参阅 触发自动化部署主题中的“创建内容清单文件”部分。
|
“自动化构建部署”工作流的第一步是检查 CCD 包。系统会检查 CCD 包,以确定其是否符合 Windchill+ 指南中的规定。检查完成后,系统会生成报告并将其存储在存储帐户中。
可在以下位置找到报告和日志:/data/builds/logs/<RITM Number>/。所生成的报告和日志文件的语法如下:
• 报告语法 - cwave_<CustomerShortName>_<Date-Time>_<Control Label>.html。其中,<Control Label> 可以是 IntakeProcessor、SpotBugs 或 Logs 等。
• 日志文件语法 -
ccd_<environment>_<Date-Time>_<ant target>_Logs.zip。其中,
<ant target> 可以是
deploy 或
load 等。有关详情,请参阅
目标。
|
报告名称
|
实施的检查
|
|
cwave_<CustomerShortName>_<Date-Time>_IntakeProcessor.html
|
Windchill+ 检查 (Windchill+ 允许的自定义、弃用、不受支持的 API、安全性)
|
|
cwave_<CustomerShortName>_<Date-Time>_SpotBugs.html
|
静态代码检查 (Java 最佳做法)
|
请注意以下事项:
• 如果 CCD 包未通过任何检查,系统会向您发送通知,并停止提交进程。
• 如果 CCD 包合规,则该过程会继续,且构建将被升级至内容清单文件中定义的目标。
• 构建部署成功后,您有 7 天的时间来完成测试。
|
|
客户负责 CCD 包内容。通过提交构建,证明已按照 PTC 安全指导中的规定完成开发工作。有关 PTC 安全指导原则的信息,请参阅 安全自定义指导原则。
|
用于 CCD 包构成的 Windchill+ 安全护栏
CCD 包及其构成必须遵循特定的目录结构。遵循为 CCD 包的目录结构和文件内容指定的安全护栏:
• CCD 包的大小不能超过 100MB。
• CCD 包可以包含以下文件夹:
|
文件夹
|
说明
|
|
Configurations
|
没有文件夹,或一个 Configurations 文件夹
|
|
Generated
|
没有文件夹,或一个 Generated 文件夹
|
|
customlib
|
没有文件夹,或一个 customlib 文件夹
|
|
<custom module(s)>
|
一个或多个自定义模块文件夹
|
|
|
在上述四个文件夹中,必须至少有一个文件夹包含在 CCD 包中。
|
• descriptor.xml 文件必须存在于 CCD 包的所有自定义模块文件夹中。
• Generated 文件夹可以为空,也可以包含以下两个文件夹中的一个文件夹,或同时包含这两个文件夹:
◦ db 文件夹 - db 文件夹可以为空。否则,该文件夹必须包含 db/conf/SchemaConfig.xml 文件。
◦ BAC 文件夹 - BAC 文件夹中只允许有一个 BAC .zip 文件。可以在 BAC 文件夹下的 Mapping.xsl 文件中提供 BAC 映射。
◦ customlib 应保留合作伙伴 IP jar (如有)。
• 允许提供的值有 plusselect 和 meddev。
• CCD 包中不能包含被阻止的文件或非预期文件,其所遵循的规则如下:
◦ 不允许在包内包含的文件的列表 - .jar、.class、.exe、.ser、.sql、.ddl、.pks、.pkb、.ora、.jasper、.cs、.cpp、.so、.dll、.jnilib、.dylib、.h、.cgf、.out、.ldif、.sh、.pl、.groovy、.gwt.xml 和 .gwt.modules.xml
◦ 允许在 xconf 文件夹内包含的文件 - .xconf
◦ 允许在 conf 文件夹内包含的文件 - .xml 和 .ini
◦ 允许在 resources 文件夹内包含的文件 - .tpl、.bas、.ddx、.html、.yml、.xjb、.ftl、.xml、.dtd、.xsl、.properties、.txt、.ini、.json 和 .js
◦ 允许在 src 文件夹内包含的文件 - .java 和 .rbInfo
◦ 允许在 jsp 文件夹内包含的文件 - .jsp 和 .jspf
◦ 允许在 tags 文件夹内包含的文件 - .tag 和 .tagf
◦ 允许在 tlds 文件夹内包含的文件 - .tld
◦ 不允许在 src_web 文件夹内包含的文件 - .java
◦ JasperReports 文件夹的有效路径 - module/main/resources 和 module/main/src_web (在配置级别无效)
◦ 资源路径下 JasperReports 文件夹中的有效文件 - .jrxml、.jasperProperties 和 .properties
◦ src_web 路径下 JasperReports 文件夹中的有效文件类型 - .gif
◦ 允许在 customlib 文件夹内包含的文件 - .jar
◦ 不允许在以下文件夹内包含名为 apps 的文件夹:
▪ configurations/resources
▪ main/resources
▪ main/src_web
提交包进行部署时,系统会检查这些安全护栏。系统会报告任何不合规行为。部署日志包含 RITM 摘要报告,例如 RITM0910921.txt。此报告概述包是否符合 Windchill+ 安全护栏。下面所示为 RITM 摘要报告示例:
有关 RITM 的详细日志,可以在详细报告 zip 文件中找到,其中包含这些安全护栏的检查详情。此 zip 文件中包含的日志文件提供了有关安全护栏检查的详情。
RITM0910921_Reports.zip 是 zip 文件示例。
preValidate_20240402-142645.log 是日志文件示例。
| 虽然这些规则并未执行,但必须注意其中存在的所有偏差,并积极纠正这些偏差。PTC 将在未来强制执行其中一些规则,任何不合规行为都会导致包失效。如需详细了解不允许的自定义和警告,请参阅 不允许的自定义。 |
上线前
您可以使用未添加质量保证 (QA) 环境的 Windchill+。还可以使用已添加 QA 环境的高级 Windchill+。您可以根据不同的场景,按照以下方法中所述的步骤进行操作:
已添加 QA 环境的高级 Windchill+
在使用已添加质量保证 (QA) 环境的高级 Windchill+ 时,请执行以下步骤:
1. 将包提交到集成环境,执行集成和功能验收测试周期。您可以经常触发此测试周期。例如,每周触发多次。
◦ 通过 deploy_pipe : int 提交构建和内容清单文件。
◦ 完成测试周期。测试周期结束后,任务即被视为完成,且环境被还原为其先前状态。
| 如果此步骤未在七天内完成,则环境会自动还原为其先前状态。 |
2. 将包提交到 QA 环境进行 UAT,然后将包升级到生产环境。建议每月触发一次或两次 UAT 测试周期,因为此进程会将构建升级至生产环境。
◦ 通过
deploy_pipe : pipeline 提交构建和内容清单文件。有关详情,请参阅
部署代码和配置包。
◦ 完成测试周期。请注意以下事项:
▪ 如果测试周期成功,即表示任务获批,且构建将升级至生产环境。
▪ 如果测试周期失败,即表示任务遭拒,且环境被还原为其先前状态。
▪ 如果测试周期未在七天内完成,则环境会还原为其先前状态。
未添加 QA 环境的基本 Windchill+
在使用未添加质量保证 (QA) 环境的基本 Windchill+ Select 时,请执行以下步骤:
1. 通过
deploy_pipe : int 提交构建和内容清单文件。有关详情,请参阅
部署代码和配置包。
2. 完成集成和功能验收测试周期。测试周期结束后,任务即被视为完成,且环境被还原为其先前状态。
| 如果此步骤未在七天内完成,则环境会还原为其先前状态。 |
3. 通过
deploy_pipe : pipeline 重新提交相同的构建和更新的内容清单文件。有关详情,请参阅
部署代码和配置包。
4. 在集成环境中完成用户验收测试周期。请注意以下事项:
◦ 如果测试周期成功,即表示任务获批,且构建将升级至生产环境。
◦ 如果测试周期失败,即表示任务遭拒,且环境被还原为其先前状态。
◦ 如果测试周期未在七天内完成,则环境会自动还原为其先前状态。
| 所有测试活动仅使用一个环境。系统每次只能执行一个测试活动。如果在此窗口中使用 deploy_pipe : int 提交构建,则系统会自动拒绝该构建。 |
上线阶段
在确认上线阶段后,必须将主机从生产环境更换到 QA 和集成环境。
您必须在 PTC 支持门户网站,针对此活动提交服务请求。有关详情,请参阅
提交服务请求。
运行状态
• 成功上线后,所有环境都将从生产环境更换主机。因此,PTC 强烈建议将变更传播到开发环境。建议使用 BAC 并从集成环境中导出完整的 BAC 包。有关详情,请参阅
使用 CCD 实用程序导入 BAC 包。
请注意以下事项:
◦ 必须至少导出数据模型才能重新构建系统 (类型和属性管理器)。
◦ 对于 BAC 不支持的对象,可通过 UI 从集成中导出 (如果可能),也可以在开发环境中重新创建加载文件。
• 之后,提交周期类似于“提交和升级包”主题下“上线前”部分中所述的提交周期。
• 在主版本上线后,必须将主机从生产环境更换到 QA 和集成环境。必须提交服务请求以进行更换主机活动。有关详情,请参阅
提交服务请求。