Grant_Allen资料

本文主要介绍Grant_Allen资料 方法和在新技术下所面对的“挑战”,方便大家深入理解Grant_Allen资料 过程。本文也将分享Grant_Allen资料 所遇到的问题和应对策略,怎么解决怎么做的问题。
通过深入本文可以理解代码原理,进行代码文档的下载,也可以查看相应 Demo 部署效果。

一,引言

前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完我们的Web服务,进行完测试后,肯定是要发布到生产环境,但是我们不可能再去创建一个相同的Web App,配置上生产环境的域名,配置上生产环境的数据库连接字符串等等,而 Azure 的 Web App是可以通过自己的一个叫 “Deployment slots(部署槽)”的功能进行切换。我们来看一下微软给出的使用部署槽的优点,以下是微软的官方文档提到的优势

将应用程序部署到非生产槽具有以下优点:

  • 可以在分阶段部署槽中验证应用更改,并将其与生产槽交换。
  • 首先将应用部署到槽,然后将其交换到生产,这确保槽的所有实例都已准备好,然后交换到生产。 部署应用时,这样可避免停机。 流量重定向是无缝的,且不会因交换操作而删除任何请求。 当不需要预交换验证时,可以通过配置自动交换来自动化这整个工作流。
  • 交换后,具有以前分阶段应用的槽现在具有以前的生产应用。 如果交换到生产槽的更改与预期不同,可以立即执行同一交换来收回“上一已知的良好站点”。

下面,我们正式开始今天的分享。

———-我是分割线———-

Azure Web App 部署系列:

1,Azure Web App(一)发布你的Net Core Web 项目

二,正文

1,升级应用服务计划

  定价层为 “Free” 的Web App是无法使用 “Deployment slots” 的功能的,我们需要进行将定价层升级到 “Standard” 或者 “premium”

下图中,我们可以看到 Web App 的 “Deployment slots(部署槽)” 都是有自己的主机名的实力应用,你的应用和环境配置可以在两个部署槽位进行交换。

Grant_Allen

 点击 “Upgarte”,选择 “Production”=>”S1″,可以看到 “Staging slots” 过渡槽这个功能

Grant_Allen

 

 点击 “Apply”,升级后,我们继续跳转到 “CnBateWeb” 的 Web App,左侧菜单选择 “Deployment”=>”Deployment slots”,目前只有一个默认槽位,并且状态是 “Running” 的

Grant_Allen

 

 

 点击 “Add Slot”,

 Grant_Allen

 

 

 Grant_Allen

 

 Name 输入 “IntegrationTesting”,克隆设置选择 “cnbateblogweb”,点击 “Apply”

 Grant_Allen

 

 回到的我们的代码中,我们尝试去修改 Index 页面,在 Welcome 的后面追加 “IntegrationTesting”,我们可以把它理解成,我们的 web项目现在新增了一个功能,同时我们需要进行集成测试,测试通过后,需要发布到生产环境中去。Grant_Allen

 假如我们在本地开发完成后,也进行了简单的测试,现在需要发布到云端,需要QA的集成测试,我们选择刚刚创建好的 “IntegrationTesting”的槽位。进行发布。

Grant_Allen

 回到 Azure Portal 中,我们创建的 “CnBateBloaWeb” 的 Web App,点击部署槽位刚刚创建的 “cnbateblogweb-IntegrationTesting” 的超链进行跳转

 Grant_Allen

 

 选择左侧菜单 “Overview”,,点击图中用红色方框圈起来的“Browse”,进行浏览,测试。

Grant_Allen

 

 

 bingo,我们可以清楚的看到,”IntegrationTesting” 是我们刚刚为了集成测试,添加的一个标识,作为我们demo项目的 “假功能”Grant_Allen

 

 假如我们新发布的项目经过QA的集成测试通过后,我们需要将这一整套的代码发布到我们的生存环境中去,这个时候,我们还像上一篇将的那样在VS中发布选择之前创建的名字叫 “CnBateBlogWeb” 的 Web App? No,No,No,此时,我们已经将开发好的新功能的代码发布到新创建的 “cnbateblogweb-IntegrationTesting” 的部署槽里了,我们只需要将部署槽里的两个槽位进行交换即可快速完成测试环境到生产环境的代码的切换,接下来,我们进行交换 测试/生产 环境的部署槽。

回到 “Deployment Slot” 页面,点击 “Sswap” 进行交互。

Grant_Allen

 

 源 选择我们集成环境的 “cnbateblogweb-IntegrationTesting”,目标 选择  “cnbateblogweb”,点击 “Swap”.Grant_Allen

 

 在 Azure Portal 上这个过程需要等待差不多20多秒,但是其实,它们两个槽位以及进行了无停机的交换了,我们进行拿着生产环境的域名进行访问,可以看到,我们成功的将刚刚加的新功能发布到生产环境上了。

Grant_Allen

 bingo,我们进行的分析到此也就完了。

三,总结

今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中,同时也引出了另外一个问题,环境变量怎么切换,切换槽位后,生产环境的数据库连接字符串怎么办。下一篇文章,我会继续 部署槽,进行配置部署槽设置,同时在交换槽位的时候,测试环境/生产环境都能够准确的连接到对于的数据库

代码继续暂时不上传了,因为没有设计到其他设置,只是简单的修改了主页,下一篇讲解 配置槽设置 的时候再上传代码

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

作者:Allen 版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

Grant_Allen资料部分资料来自网络,侵权毕设源码联系删除

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » Grant_Allen资料

提供最优质的资源集合

立即查看 了解详情