如何从 Kentico 10 中的 CI 中排除根页面?
How to exclude root page from CI in Kentico 10?
我们启用了 Kentio CI,不考虑禁用它。我的情况是,我想在部署在服务器上的 Kentico 站点的所有页面上启用 SSL,但希望在本地开发时禁用 SSL。
我知道可以通过转到文档根设置然后将 "Require SSL" 无线电设置为 "Yes" 来启用 SSL。这很好用,正是我想要的。
问题在于,因为我们在本地将此设置设置为 "No" 并且启用了 CI,所以当我们部署到服务器时,本地设置会覆盖服务器并且服务器根页面会获取设置重新设置为 "No",我们必须手动切换它。
我知道有一些方法可以通过修改 repository.config 文件在 CI 进程中包含和排除对象,并且根据文档 here,也可以排除个别对象来自 CI 进程的对象。特别要注意的是文档中的这一行:
To exclude pages (the cms.document object type), use alias path values instead of code names. This identifies pages based on their location in the content tree.
我试图在 repository.config
中使用以下代码排除网站的根页面:
<ObjectFilters>
<ExcludedCodeNames ObjectType="cms.document">/</ExcludedCodeNames>
</ObjectFilters>
如果没有这一行,对根文档的任何修改都会被标记为 Git 的修改,这是预期的,但在添加这一行后,Git 将文档标记为删除,如下图所示:
也许这是预期的行为,我只是不知道。
我想知道如何从 CI 中排除这个单独的页面。感谢任何帮助。
屏幕截图上的内容是预期的行为 - 但这是您完全不想做的事情。 CI 恢复首先删除所有文档和对象,然后导入 CI 文件夹中的内容。删除根文档将有效地阻止导入任何其他文档,因为它没有 "parent"。即使不是这种情况,您也必须手动传输根文档的所有更改。
最佳做法绝对是按照 Brenden 的建议在开发机器上设置 SSL。
另一种选择是利用 DocumentEvents
并根据某些条件(例如当前域名)更改 SSL 设置。但这会带来不必要的错误倾向。
使用私有证书在 IIS 中本地启用 SSL。这将很容易地解决问题,并且不需要任何愚蠢的 Kentico CI 配置。此外,它还允许您在本地进行测试,以确保在推广到其他环境时不会出现 HTTPS 与 HTTP 的错误。
我们启用了 Kentio CI,不考虑禁用它。我的情况是,我想在部署在服务器上的 Kentico 站点的所有页面上启用 SSL,但希望在本地开发时禁用 SSL。
我知道可以通过转到文档根设置然后将 "Require SSL" 无线电设置为 "Yes" 来启用 SSL。这很好用,正是我想要的。
问题在于,因为我们在本地将此设置设置为 "No" 并且启用了 CI,所以当我们部署到服务器时,本地设置会覆盖服务器并且服务器根页面会获取设置重新设置为 "No",我们必须手动切换它。
我知道有一些方法可以通过修改 repository.config 文件在 CI 进程中包含和排除对象,并且根据文档 here,也可以排除个别对象来自 CI 进程的对象。特别要注意的是文档中的这一行:
To exclude pages (the cms.document object type), use alias path values instead of code names. This identifies pages based on their location in the content tree.
我试图在 repository.config
中使用以下代码排除网站的根页面:
<ObjectFilters>
<ExcludedCodeNames ObjectType="cms.document">/</ExcludedCodeNames>
</ObjectFilters>
如果没有这一行,对根文档的任何修改都会被标记为 Git 的修改,这是预期的,但在添加这一行后,Git 将文档标记为删除,如下图所示:
也许这是预期的行为,我只是不知道。
我想知道如何从 CI 中排除这个单独的页面。感谢任何帮助。
屏幕截图上的内容是预期的行为 - 但这是您完全不想做的事情。 CI 恢复首先删除所有文档和对象,然后导入 CI 文件夹中的内容。删除根文档将有效地阻止导入任何其他文档,因为它没有 "parent"。即使不是这种情况,您也必须手动传输根文档的所有更改。
最佳做法绝对是按照 Brenden 的建议在开发机器上设置 SSL。
另一种选择是利用 DocumentEvents
并根据某些条件(例如当前域名)更改 SSL 设置。但这会带来不必要的错误倾向。
使用私有证书在 IIS 中本地启用 SSL。这将很容易地解决问题,并且不需要任何愚蠢的 Kentico CI 配置。此外,它还允许您在本地进行测试,以确保在推广到其他环境时不会出现 HTTPS 与 HTTP 的错误。