如何在Kentico 10中从CI中排除根页?

时间:2017-07-26 00:22:54

标签: continuous-integration kentico

我们启用了Kentio CI,并且不考虑禁用它。我的情况是,我希望在Kentico站点上的所有页面上启用SSL,这些页面已部署在服务器上,但我们希望在本地开发时禁用SSL。

我知道可以通过转到文档根设置然后设置"要求SSL"来启用SSL。收音机到"是"。这很有效,正是我想要的。

问题在于,因为在本地我们将此设置设置为"否"我们启用了CI,当我们部署到服务器时,本地设置会覆盖服务器,服务器根页面将设置设置回"否"我们必须手动切换它。

我知道有一些方法可以通过修改repository.config文件来包含和排除CI过程中的对象,并且根据文档here,还可以从CI过程中排除单个对象。特别值得注意的是文档中的这一行:

  

要排除页面(cms.document对象类型),请使用别名路径值而不是代码名称。这会根据页面在内容树中的位置来识别页面。

我尝试使用repository.config中的以下代码排除网站的根页:

<ObjectFilters>
    <ExcludedCodeNames ObjectType="cms.document">/</ExcludedCodeNames>
</ObjectFilters>

如果没有这一行,对根文档的任何修改都会被Git注意为修改,但是在添加此行时,Git会将删除文档标记为以下屏幕截图:

Git status

也许这是预期的行为,我只是不知道。

我想知道如何从CI中删除这个单独的页面。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

屏幕截图上的内容是预期的行为 - 但这是您完全不想做的事情。 CI恢复首先删除所有文档和对象,然后导入CI文件夹中的内容。删除根文档将有效地防止导入任何其他文档,因为没有&#34; parent&#34;为了它。即使不是这种情况,您也必须手动传输根文档的所有更改。

最佳做法绝对是在开发机器上设置SSL,正如Brenden建议的那样。

另一种选择是利用DocumentEvents并根据某些标准(例如当前域名)更改SSL设置。但这会带来不必要的错误倾向。

答案 1 :(得分:2)

在IIS中使用私有证书在本地启用SSL。这将很容易解决问题,不需要任何愚蠢的Kentico CI配置。此外,它还允许您在本地测试内容,以确保在升级到其他环境时不会出现HTTPS与HTTP错误。