【问题标题】:Deploy .Net Core 2.1 Web API to Elastic Beanstalk将 .Net Core 2.1 Web API 部署到 Elastic Beanstalk
【发布时间】:2019-05-23 03:19:46
【问题描述】:

我正在尝试通过 CLI 将我的 .Net Core Web API 解决方案部署到 Elastic Beanstalk,但遇到了问题。我能够毫无错误地发布我的项目并成功部署应用程序。我的问题是当我访问 URL 时,我仍然看到示例应用程序。

我是否可以对我的应用程序、web.config 或 Elastic Beanstalk 中的配置进行更改以部署我的 Web API?

发布命令

dotnet publish My.WebAPI/My.WebAPI.csproj --runtime win10-x64 --output my-api

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\MyWebAPI.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>

aws-windows-deployment-manifest.json

{
    "manifestVersion": 1,
    "deployments": {
        "aspNetCoreWeb": [
        {
            "name": "my-webapi",
            "parameters": {
                "appBundle": ".",
                "iisPath": "/",
                "iisWebSite": "Default Web Site"
            }
        }
        ]
    }
}

【问题讨论】:

  • 你是怎么解决你的问题的?
  • @dyesdyes 我在下面回答。我在为部署创建 zip 文件时遇到问题

标签: amazon-web-services .net-core asp.net-core-webapi amazon-elastic-beanstalk


【解决方案1】:

解决方案是修复我压缩发布内容的方式。我的 Jenkins 部署脚本正在生成自定义 zip。我将编译后的代码压缩到一个子目录中,所以我的部署失败了。我更新了我们的 zip 命令以展平存档,因此所有部署文件都在一个平面文件中。

根据 AWS 文档: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html(以下相关段落)

当您使用 AWS Elastic Beanstalk 控制台部署新应用程序或应用程序版本时,您需要上传源包。您的源包必须满足以下要求:

  • 由单个 ZIP 文件或 WAR 文件组成(您可以在 ZIP 文件中包含多个 WAR 文件)
  • 不超过 512 MB
  • 不包括父文件夹或顶级目录(子目录也可以)

【讨论】:

猜你喜欢
  • 2018-03-26
  • 2017-01-18
  • 2017-11-16
  • 2021-12-23
  • 1970-01-01
  • 2018-08-18
  • 2015-09-18
  • 2020-03-24
  • 2012-07-04
相关资源
最近更新 更多