【问题标题】:Publish NetCore 2.2 on IIS from Linux从 Linux 在 IIS 上发布 Net Core 2.2
【发布时间】:2019-07-08 10:39:48
【问题描述】:

我知道让 msdeploy 跨平台 (https://github.com/aspnet/Tooling/issues/583) 存在一个未解决的问题。但我想知道是否有任何解决方法在 Linux 的 Windows IIS 机器上部署 NetCore 应用程序。

我有一个 CentOS jenkins-agent,它执行 dotnet 构建、dotnet 测试和 dotnet 发布。在 Windows 代理中,我会调用 MSDeploy,但我没有。如何解决这个问题?

【问题讨论】:

  • 就像那个线程指出的那样,最简单的方法是构建一个 Docker 镜像,然后像任何其他 Docker 镜像一样启动它。你还想要什么?
  • @LexLi 我有一台 Windows Server 机器,其中有很多应用程序已经在使用这个 IIS。我需要在同一个 IIS 中启动应用程序。在这种情况下,我看不出 docker 图像如何适合。您是否建议我在 Linux 代理中启动 Windows 映像并使用它的 msdeploy?
  • 今天的 Windows Server(取决于您使用的版本)应该能够将 Docker 映像作为一等公民托管,而 .NET Core 从一开始就自然支持该功能。MSDeploy 是单独设计的考虑到 Windows/IIS,所以看到该线程中没有做任何事情我并不感到惊讶。
  • @LexLi 问题比这更大。我知道我可以在我的 Windows Server 中托管一个 docker 映像。但我的 netcore 应用程序是使用 IIS 过滤器的旧门户的一部分,因此该应用程序需要作为与门户的其余部分在同一 IIS 中运行的要求。
  • @LexLi 当然,如果我准备好改变我的环境以至于在我的 Windows 服务器上安装整个 Docker 基础架构……我会把它放在 Linux 服务器上!

标签: jenkins iis continuous-integration asp.net-core-2.2 .net-core-2.2


【解决方案1】:

最多使用 dotnet -publish 并复制到所需的文件夹。预先复制appoffline文件,之后删除。

【讨论】:

  • 听起来不错……但这是 StackOverflow:请提供一个示例。坦率地说,我完全不确定需要复制哪些文件。
猜你喜欢
  • 2019-09-29
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多