使用 FTP/MS WebDeploy 的 Azure Web 托管

标签 azure azure-web-app-service azure-app-service-envrmnt

我可以使用 CI 工具/MS WebDeploy 将在 .net core 2.1 上创建并以 SQL Server 作为数据库的 Web 应用程序托管到 Azure Web 应用服务吗?

我要注意以下几点:

  • 应用程序正在使用文件系统进行临时存储和文件存储
  • 部署应由 jenkins 等 CI 工具管理
  • 部署后,应使用一些 key /服务器详细信息修改应用设置文件
  • 日志文件(存储在应用根目录中)应可由应用管理员访问

有没有办法创建一个与 IIS 中相同的虚拟目录并使用 FTP 或类似协议(protocol)上传文件..?

最佳答案

您对部署 .net core 2.1 Web 应用程序的所有疑问都是可以实现的。

假设我们的项目全部完成并上传到github。

有关您疑虑的问题和解释:

  1. 关于使用数据库的连接配置,可以直接在web.config中进行配置。如果您使用的是azure sql server,找到连接字符串,设置防火墙,并通过SSMS测试,就可以测试连接了在代码中。还可以将其添加到门户中的配置 -> 应用程序设置 -> 连接字符串中。添加后优先级高于web.config中的配置,会覆盖该配置,不会修改web.config文件。

  2. 关于文件存储的使用,您可以使用azure存储服务,也可以不使用。具体看业务,比如可以在当前程序运行目录下存放非常小的图片、文档等文件,这与代码层面的原始开发是一致的。发布时需要include the MyFiles file in the publishing process ,或者等待发布完成后在kudu中手动添加文件夹,或者程序可以判断。建议使用程序判断,后续程序升级不会丢失数据。

enter image description here

  • 应用设置文件中的 secret 信息实际上可以在 web.configappsetting.json 中配置。本地调试时确保离线项目正常运行,然后才能发布。其余部分按照第一个说明在门户中配置。

  • Log Files文件存储完全可以达到你想要的效果。设置此应用程序服务的所有者权限应该足够了。详情请引用the official documentation .

  • 虚拟目录和虚拟应用程序,我有a better answer这里有另一篇文章,你可以引用一下。

  • 步骤:

    首先,我们可以在门户中创建一个Web应用程序并选择.net core 2.1。创建应用服务,完成后单击“部署中心”。

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    按照提示一步步操作,等待github中的Action完成,即发布成功。

    关于使用 FTP/MS WebDeploy 的 Azure Web 托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62708740/

    相关文章:

    沙盒上的 Azure 应用服务资源组。为学习而创建不允许免费服务计划

    identityserver4 - 使用带有 IdentityServer 4 AddSigningCredential 的 Linux 容器在 Azure 应用服务上加载自签名证书时出错

    powershell - 如何使用Powershell更改Azure Web App的部署密码?

    asp.net - 多个 Azure Web 应用程序实例 - 不一致的数据库查询/数据

    azure - 带参数的 Bicep runCommands 资源

    azure - Azure 中的 Windows VM 卡在 "Hi There"

    c# - 如何在没有管理员权限的情况下在 Azure Web 应用程序上安装 PowerShell 模块?

    Azure 应用服务为 Blazor 应用程序设置环境吗?

    azure - 导出所有 Azure 组和所有者

    Azure网站每个页面加载速度慢