包管理器 working-with-packages
利用资源包,可以导入和导出存储库内容。 您可以使用包安装新内容、在实例之间传输内容以及备份存储库内容。
使用包管理器,您可以在AEM实例和本地文件系统之间传输包以进行开发。
什么是包? what-are-packages
包是一个zip文件,以文件系统序列化形式保存存储库内容,称为保险库序列化,它提供了易于使用和易于编辑的文件和文件夹表示形式。 包中包含的内容是使用过滤器定义的。
软件包还包含电子仓库元信息,包括过滤器定义和导入配置信息。 包中可以包含不用于包提取的其他内容属性,例如描述、可视化图像或图标。 这些附加内容属性仅供内容包使用者使用和参考。
AEMas a Cloud Service中的包 aemaacs-packages
为AEMas a Cloud Service应用程序创建的内容包在不可变和可变内容之间必须具有干净的分离。 因此,包管理器只能用于管理包含内容的包。 任何代码都必须通过Cloud Manager部署。
/apps
)必须 在Cloud Manager中使用CI/CD管道部署.有关如何管理AEMaaCS包的更多详细信息,请参阅 部署到AEMas a Cloud Service 《部署用户指南》中的。
包大小 package-size
Adobe建议不要创建大型包。 这是为了避免在上载和下载包时出现超时问题。
一般来说,一个包裹应在60秒内整个传送。 这提供了以下公式作为指导。
MaxPackageSize (in MB) = ConnectionSpeed (in MB/s) * 60 s
由于网络流量是可变的,并且始终小于通告的最大理论值,因此请尝试使用在线互联网连接速度测试工具。
对于上传和下载,Internet速度几乎总是不同的。 假设您必须同时上载和下载包,则计算时应使用较低的值(通常是上载速度)。
示例 example
通过使用互联网速度测试工具,我发现当前的上传速度约为100 Mbps。
100 Mbps = 12.5 MB/s
12.5 MB/s * 60 s = 750 MB
因此,我创建的任何包都应小于750 MB。
包管理器 package-manager
包管理器用于管理AEM安装中的包。 在您拥有 已分配必要的权限 您可以将包管理器用于各种操作,包括配置、构建、下载和安装包。
所需权限 required-permissions
要创建、修改、上载和安装包,用户必须在以下节点上拥有适当的权限:
- 完全权限(不包括删除日期)
/etc/packages
- 包含包内容的节点
访问包管理器 accessing
您可以通过三种方式访问包管理器:
- 从AEM主菜单> 工具 > 部署 > 包
- 从 CRXDE Lite 使用顶部切换器栏
- 直接访问
http://<host>:<port>/crx/packmgr/
包管理器UI ui
Package Manager分为四个主要功能区域:
-
左侧导航面板 — 利用此面板,可筛选包列表并对包列表进行排序。
-
包列表 — 这是实例上的包列表,按照左侧导航面板中的选择进行过滤和排序。
-
活动日志 — 此面板最初最小化,然后展开以详细描述包管理器的活动,如在生成或安装包时。 在“活动日志”选项卡中,还有其它按钮用于:
- 清除日志
- 显示/隐藏
-
工具栏 — 工具栏包含用于左侧导航面板和包列表的刷新按钮,以及用于搜索、创建和上传包的按钮。
单击左侧导航面板中的选项会立即过滤包列表。
单击包名称可展开“包列表”中的条目以显示有关包的更多详细信息。
展开包详细信息时,可通过工具栏按钮对包执行许多操作。
下面提供了进一步的操作 更多 按钮。
包状态 package-status
包列表中的每个条目都有一个状态指示器,用于让您一眼就知道包的状态。 将鼠标悬停在状态上会显示工具提示,其中包含状态的详细信息。
如果包已更改或从未生成,则状态将显示为链接,以便执行快速操作以重新生成或安装包。
包设置 package-settings
资源包本质上是一组过滤器,以及基于这些过滤器的存储库数据。 使用包管理器UI,您可以单击包,然后单击 编辑 按钮查看文件包的详细信息,包括以下设置。
常规设置 general-settings
您可以编辑各种包设置以定义包说明、依赖性和提供程序详细信息等信息。
此 包设置 对话框可通过 编辑 按钮时间 创建 或 编辑 一个包裹。 进行任何更改后,单击 保存.
包过滤器 package-filters
过滤器标识要包含在包中的存储库节点。 A 筛选器定义 指定以下信息:
- 此 根路径 要包含的内容的
- 规则 在根路径下包含或排除特定节点
使用添加规则 + 按钮。 使用删除规则 - 按钮。
规则会根据其顺序进行应用,以便使用 向上 和 向下 箭头按钮。
过滤器可以包含零个或多个规则。 未定义规则时,包将包含根路径下的所有内容。
您可以为包定义一个或多个筛选器定义。 使用多个筛选器以包含来自多个根路径的内容。
创建过滤器时,您可以定义路径或使用正则表达式来指定要包含或排除的所有节点。
通常,当您首次定义包过滤器时 创建包。 但是,它们也可以稍后进行编辑,之后应重建包以根据新的筛选器定义更新其内容。
依赖项 dependencies
AEMaaCS
groupId:name:version
groupId:name:version
高级设置 advanced-settings
WKND Media Group
https://wknd.site
https://wknd.site/package/
重新启动 — 安装包后必须重新启动AEM
覆盖 — 覆盖存储库中的ACL
合并 — 合并两组ACL
MergePreserve — 通过添加内容中不存在的承担者的访问控制条目,将内容中的访问控制与包中提供的访问控制合并
清除 — 清除ACL
程序包屏幕截图 package-screenshots
您可以将多个屏幕截图附加到包中,以提供内容显示方式的可视表示形式。
包操作 package-actions
可以对包执行许多操作。
创建资源包 creating-a-new-package
-
单击 创建包.
note tip TIP 如果您的实例具有许多包,则可能已有文件夹结构。 在这种情况下,创建新包之前可以更轻松地导航到所需的目标文件夹。 -
在 新建包 对话框,请输入以下字段:
-
包名称 — 选择一个描述性名称,以帮助您(和其他人)轻松识别包的内容。
-
版本 — 这是一个文本字段,用于指示版本。 这会附加到包名称以形成zip文件的名称。
-
组 — 这是目标组(或文件夹)的名称。 组可帮助您组织包。 如果该组尚不存在,则会为其创建文件夹。 如果将组名称留空,它将在主包列表中创建包。
-
-
单击 确定 以创建包。
-
AEM在程序包列表的顶部列出新程序包。
-
单击 编辑 以定义 包内容。 单击 保存 完成编辑设置后。
-
您现在可以 生成 您的包。
创建包后不必立即构建包。 未构建的包不包含任何内容,并且仅由包的过滤器数据和其他元数据组成。
构建资源包 building-a-package
通常,生成包的同时也会生成一个包 创建包,但您可以稍后返回构建或重新构建包。 如果存储库中的内容已更改或包过滤器已更改,此功能会很有用。
-
单击包名称,从包列表中打开包详细信息。
-
单击 生成. 将出现一个对话框,要求确认您确实要生成包,因为任何现有的包内容都将被覆盖。
-
单击 确定. AEM会生成资源包,并在活动列表中列出添加到资源包的所有内容。 完成AEM后,将显示已生成包的确认信息,并且(关闭对话框时)会更新包列表信息。
编辑资源包 edit-package
将包上传到AEM后,您可以修改其设置。
您可能需要 重新生成包 以根据您所做的更改更新其内容。
重新包装包 rewrapping-a-package
生成包后,可以对其进行重新包装。 重新包装会更改包信息,但不更改包内容,如缩略图、描述等。
查看其他包版本 other-versions
由于包的每个版本都作为任何其他包出现在列表中,因此包管理器可以找到选定包的其他版本。
-
单击包名称,从包列表中打开包详细信息。
-
单击 更多 > 其他版本 此时将打开一个对话框,其中包含相同资源包的其他版本列表以及状态信息。
查看包内容和测试安装 viewing-package-contents-and-testing-installation
生成包后,可以查看其内容。
-
单击包名称,从包列表中打开包详细信息。
-
要查看内容,请单击 更多 > 目录,包管理器在活动日志中列出包的全部内容。
-
要执行安装试运行,请单击 更多 > 测试安装 和包管理器会在活动日志中报告结果,就像执行了安装一样。
正在将包下载到您的文件系统 downloading-packages-to-your-file-system
-
单击包名称,从包列表中打开包详细信息。
-
单击 下载 按钮或包详细信息区域中包的链接文件名。
-
AEM会将包下载到您的计算机。
从您的文件系统上传包 uploading-packages-from-your-file-system
-
选择要将包上载到其中的组文件夹。
-
单击 上传包 按钮。
-
提供有关已上传文件包的必需信息。
- 包 — 使用 浏览…… 按钮从本地文件系统选择所需的包。
- 强制上传 — 如果具有此名称的包已存在,则此选项将强制上传并覆盖现有包。
-
单击 确定 并且将上传选定的资源包,并相应地更新资源包列表。
包内容现在存在于AEM上,但要使内容可供使用,请确保 安装包.
验证包 validating-packages
由于包可以修改现有内容,因此在安装之前验证这些更改通常很有用。
验证选项 validation-options
包管理器可以执行以下验证:
验证 OSGi 包的导入情况 osgi-package-imports
检查内容
此验证检查所有JAR文件(OSGi包)的包,提取其 manifest.xml
(包含所述OSGi捆绑所依赖的版本化依赖项),并验证AEM实例以正确的版本导出所述依赖项。
如何报告
任何无法由AEM实例满足的版本化依赖项都会列在包管理器的“活动日志”中。
错误状态
如果不满足依赖关系,则包中具有这些依赖关系的OSGi捆绑包将不会启动。 这会导致应用程序部署中断,因为依赖未启动的OSGi捆绑包的任何内容都将无法正常运行。
错误解决
要解决因未满足的OSGi捆绑包导致的错误,必须调整包含未满足的导入的捆绑包中的依赖项版本。
验证覆盖 overlays
检查内容
此验证可确定正在安装的包是否包含目标AEM实例中已覆盖的文件。
例如,假定在 /apps/sling/servlet/errorhandler/404.jsp
,一个包,其中包含 /libs/sling/servlet/errorhandler/404.jsp
,以便更改位于的现有文件 /libs/sling/servlet/errorhandler/404.jsp
.
如何报告
包管理器的活动日志中介绍了任何此类叠加。
错误状态
错误状态表示包尝试部署的文件已覆盖,因此包中的更改将被覆盖覆盖(因此“隐藏”),并且不会生效。
错误解决
要解决此问题,请在中维护叠加文件 /apps
必须查看对中的覆盖文件所做的更改 /libs
并将所需的更改合并到叠加中( /apps
),并重新部署覆盖的文件。
验证 ACL acls
检查内容
此验证会检查正在添加的权限、对这些权限的处理方式(合并/替换)以及当前权限是否受到影响。
如何报告
包管理器的活动日志中介绍了相关权限。
错误状态
不能提供显式错误。 验证仅指示安装包是否添加或影响任何新ACL权限。
错误解决
使用验证提供的信息,可以在CRXDE中查看受影响的节点,并根据需要在包中调整ACL。
正在执行验证 performing-validation
可以通过两种不同的方式验证包:
在上传包后但在安装包之前应始终进行验证。
通过包管理器验证包 via-package-manager
-
单击包名称,从包列表中打开包详细信息。
-
要验证包,请单击 更多 > 验证,
-
在随后显示的模式对话框中,使用复选框选择验证类型,并通过单击开始验证 验证.
-
然后,所选验证将运行,结果将显示在包管理器的活动日志中。
通过HTTPPOST请求验证包 via-post-request
POST请求采用以下形式。
https://<host>:<port>/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls
此 type
参数可以是任何以逗号分隔的无序列表,包括:
osgiPackageImports
overlays
acls
的值 type
默认为 osgiPackageImports
如果未明确传递。
使用cURL时,请执行与以下内容类似的语句:
curl -v -X POST --user admin:admin -F file=@/Users/SomeGuy/Desktop/core.wcm.components.all-1.1.0.zip 'http://localhost:4502/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls'
在通过POST请求进行验证时,响应将作为JSON对象发送回。
查看程序包覆盖范围 package-coverage
包由其过滤器定义。 您可以让包管理器将包的过滤器应用于现有存储库内容,以显示包的过滤器定义涵盖的存储库的内容。
-
单击包名称,从包列表中打开包详细信息。
-
单击 更多 > 覆盖率.
-
服务范围详细信息列在活动日志中。
安装包 installing-packages
上传资源包只会将该资源包内容添加到存储库,但不可访问。 您必须安装上传的包才能使用包的内容。
在安装包之前,包管理器会自动创建包含被覆盖内容的快照包。 如果您卸载包,则会重新安装此快照。
安装完成并成功后,将更新软件包列表,并键入 已安装 在包状态中显示。
重新安装包 reinstalling-packages
重新安装软件包对已安装的软件包执行与以下情况下处理的软件包相同的步骤: 初始安装包。
基于文件系统的上载和安装 file-system-based-upload-and-installation
安装包时,您可以完全放弃包管理器。 AEM可以检测位于主机本地文件系统上特定位置的软件包,并自动上传和安装它们。
-
在AEM安装文件夹下,
crx-quicksart
在jar和license.properties
文件。 创建名为的文件夹install
下crx-quickstart
导致路径<aem-home>/crx-quickstart/install
. -
在此文件夹中,添加您的包。 它们将自动上传并安装到您的实例上。
-
上载和安装完成后,您可以在包管理器中查看包,就像使用包管理器UI安装包一样。
如果实例正在运行,则将其添加到软件包并添加到时,将立即开始上载和安装 install
文件夹
如果实例未运行,则将包放置在 install
文件夹在启动时按字母顺序安装。
卸载包 uninstalling-packages
卸载软件包会将存储库的内容还原为软件包管理器在安装之前自动生成的快照。
-
单击包名称,从包列表中打开要卸载的包的包详细信息。
-
单击 更多 > 卸载,从存储库中删除此包的内容。
-
此时将显示一个对话框,请求确认并列出所做的所有更改。
-
将删除包并应用快照。 该流程的进度将显示在活动日志中。
删除包 deleting-packages
删除包只会从包管理器中删除其详细信息。 如果已经安装了此包,则不会删除安装的内容。
-
通过单击包名称,打开要从包列表中删除的包的包详细信息。
-
AEM会要求您确认是否要删除包。 单击 确定 以确认删除。
-
资源包信息将被删除,详细信息将会在活动日志中报告。
复制资源包 replicating-packages
复制包的内容以将其安装在发布实例上。
-
单击包名称,从包列表中打开要复制的包的包详细信息。
-
单击 更多 > 复制.
-
将复制资源包,并在活动日志中报告详细信息。
Software Distribution software-distribution
AEM包可用于在AEMaaCS环境中创建和共享内容。
Software Distribution 提供了可在本地开发AEM SDK中使用的AEM包。 在Software Distribution上提供的AEM包不得安装在AEMaaCS云环境中,除非经Adobe支持明确批准。
欲知更多信息,请参见 Software Distribution文档