将 .Net Core 2.1 Web API 部署到 Elastic Beanstalk



我正在尝试通过 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

网络.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=".logsstdout" />
    </system.webServer>
  </location>
</configuration>

aws-windows-deployment-manifest.json

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新