【问题标题】:Octopus Deploy approach for modular .net applications模块化 .net 应用程序的 Octopus Deploy 方法
【发布时间】:2018-02-07 10:14:23
【问题描述】:

我们有一个 .NET windows 服务,它没有任何直接的程序集引用,但会检查本地目录中的程序集(通过 StructureMap)以将其他行为加载到系统中。

每个可以推送到本地目录的模块都作为一个nuget包存在于私有nuget repo中。

在部署方面,有两种方法,我很想了解其他人是如何解决这个问题的,以及他们是否会事后推荐这种方法:

  1. 创建一个引用必要模块 nuget 包的入口点应用程序,然后为整个应用程序创建一个 nuget 包并使用 Octopus 来部署它

  2. 使用 Octopus 部署多个 nuget 包并在部署阶段重构所有内容的能力

非常感谢。

【问题讨论】:

  • 您的 Windows 服务是否从本地文件夹中新添加/更新的程序集加载?还是在服务启动时加载 1 次?
  • 1-time load on start-up

标签: .net deployment .net-core continuous-deployment octopus-deploy


【解决方案1】:

考虑到您的库在服务启动时加载一次,我可能会选择一个包含多个步骤的章鱼项目。 举个例子:

  1. 停止服务
  2. 清理库文件夹
  3. 部署库1
  4. 部署库2
  5. .....
  6. .....
  7. 部署和运行服务

服务部署和安装是最后一步。 这样您就可以在部署中安全地运行所有 the steps,并且您的服务应该可以将 dll 部署到文件夹中。

要记住的另一点是,部署到新/干净的机器应该会导致完全设置服务(包含所有必需的库)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    相关资源
    最近更新 更多