gpt4 book ai didi

asp.net-mvc - Orchard CMS 模块开发和与 TeamCity 的持续集成

转载 作者:行者123 更新时间:2023-12-04 04:39:04 25 4
gpt4 key购买 nike

我已经使用 Orchard CMS 进行了几个月的开发(并且很喜欢它),并且启动我的网站的时间快到了。到目前为止,我只是在我的 BitBucket 存储库中单独开发,在必要时 fork ,没有做任何太花哨的事情。一旦我发布了,虽然我真的需要知道我的模块和主题的确切版本在生产中使用。我认为我的构建服务器中的版本化包是实现这一目标的最佳方式。

目前,我的 repo 包含整个 Orchard 实例的源代码(减去 App_Data 文件夹),以及一个包含作为我的模块和主题的项目的解决方案文件。我的模块从 App_Data/Dependencies 文件夹中获取其他模块的依赖项。

我的问题是,这是实现持续集成的最佳方法吗?

我在 TeamCity 下构建了我的解决方案,但我的存储库中没有包含 App_Data 文件夹,所以我至少需要加载设置页面以便填充 Dependencies 目录(由于某种原因在我的构建服务器上不会发生这种情况? 似乎只有动态编译适用于所有事情?)

任何想法或帮助将不胜感激。

更新:

我决定将一个 lib 文件夹添加到我的解决方案中,并将所有依赖程序集存储在那里。然后,我将让我的 repo 仅包含我的模块/主题所需的项目。然后 CI 服务器构建解决方案就没有问题了,我可以将 repo 克隆到一个 Orchard 实例中以便于开发(这意味着我的解决方案必须包含一个 Modules 和 Themes 目录)。

最佳答案

我使用了以下 接近 .

  • 无需任何源代码即可将 Orchard 二进制文件添加到存储库中,因为它们分布在 orchard project site
  • 在单独的目录中创建我的解决方案和所有相关项目,因此目前 dir 结构如下所示:

    enter image description here
  • 然后将您的模块项目放在 orchard/modules 下包含所有来源和 .proj 的文件夹文件
  • 将模块项目中的引用添加到 orchard/bin对于任何
    Orchard 特有的东西
  • 手动添加模块二进制文件到 App_Data/Dependencies文件夹以便能够引用它们

  • 此方法的改进之一是关闭动态编译并仅存储模块二进制文件,但这需要配置输出 bin 路径和构建脚本中的其他操作。

    福利
  • 您的存储库中没有任何 Orchard 资源,除了
    模块(但这可以通过关闭动态编译来解决)。
  • 您几乎可以独立地轻松升级 Orchard 二进制文件和模块
  • 构建时间更短
  • 关于asp.net-mvc - Orchard CMS 模块开发和与 TeamCity 的持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241373/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com