如何将 Web 应用程序中的文件夹与网站同步?

how to synchronise a folder in a Web app with the website?

我正在进入 Kentico 开发,并且正在研究持续集成。

我已将我的 VS 解决方案与网站文件夹分开,并将我的更改从 Web 应用程序发布到网站。

然而,Kentico 中的 CI 系统将其序列化项目保存在网站的 /CMS/App_Data/CIRepository 文件夹中。

所以我需要一种方法来轻松将该文件夹中的更改返回到我的 VS 解决方案中,这样我就可以将它们签入我的源代码管理中。

换句话说,一个在网站和 VS 网络应用程序之间同步的文件夹。最好的方法是什么?

你不应该 CI 运行 在你的 live、qa 或 staging 网站上。 CI 适用于在他们自己的本地环境中工作的多个开发人员,而不是可供其他人访问的共享实例。

因此,对于您的情况,我建议关闭服务器上的 CI。如果它是物理服务器,您也可以安装您的回购工具并提交和恢复您的文件,但这不是它的工作方式。

这是我想出的。 new/second 开发人员可以安装一个空站点。 然后在他的站点中创建一个符号 link 文件夹,指向解决方案文件夹(受源代码控制)内的 CIRepository 文件夹。

mklink /d D:\Sites\KenticoReferenceQA\CMS\App_Data\CIRepository D:\Projects\KenticoReferenceQA\CMS\App_Data\CIRepository

这将在您的网站文件夹中创建 CIRepostory 文件夹,现在在此文件夹中所做的任何更改都会反映在项目文件夹中,并由 Visual Studio 和您选择的源代码管理检测到。

我还在网站中添加了一个 post 触发 powershell 脚本的构建脚本 运行 持续集成。这将在您构建时更新网站。