使用Azure SDK 1.4.1中的Web Deploy
公告 :本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 ,会影响阅读体验 。如遇此情况,请访问 原博客。
刚刚更新的Azure SDK v1.4.1通过使用Web Deploy,支持单一运行的Web Role实例就地升级。本文详细介绍了如何使用这些新的功能。
SDK更新可以从这里下载:开始
正如Windows Azure团队博客宣布的,
直到今天,托管服务的反复的部署过程仍需要你使用Management portal或者Service Management API重新打包应用程序并将它上传到Windows Azure。Windows Azure SDK 1.4更新包通过与Web Deployment Tool(Web Deploy)结合,解决了这个问题。
关于Azure的一个普遍的抱怨就是roles启动花费太长时间,而且之后的每次升级,你的软件都需要一个启动周期(条款,初始化,启动,运行),开发过程明显变慢。Web Deploy Tool可以用来代替升级一个in-place role — 意味着程序的核心可以在反复的开发周期中不必打包全部云项目而更新。这意味着一个缺少的CSS链接,验证元素,隐藏代码元素或者其他改变可以在不终止你的Role Instance的情况下创建。
值得注意的是Web Deploy仅限于一个单一的Role Instance — 如果你有一个拥有多个角色的复杂的网站(如果你处在开发周期并进行到了部署产品前的最后一个阶段,很有可能在Production中,而不太可能在Staging中)你将无法使用Web Deploy。既然这样,我建议你应该考虑在开始规划之前,使用一个单独的开发实例实现你的技术,或者你可以在总是将实例数目减到1之前,再次增加你所选数量的规模。查看更多限制,请参阅这里。
这是一种十分有用的Windows Azure流水线化部署方式,因为它略过了长时间的启动过程。这应当在选择使用完全部署,还是部分Web Deploy时考虑,例如Startup Tasks在执行Web Deploy时无法运行。一些安装任务(例如)在Role最开始创建的时候已经被执行了,因此不需要再次执行它。
这篇博客中,我使用了我之前一篇博客中的代码,Restricting Access to Azure by IP Address。我使用这篇博客是因为它包含了一个在最初发布到Role生效并响应服务器请求时,添加了一个重要的时限的启动任务。这个延迟要优于启动Azure Role的延迟,因为它在IIS中安装了一个模块。这也是那些集成Web Deploy后所希望能解决的耗时类型之一,因为start up task不需要在Web Deploy中被重复调用。
首先,必须安装标准步骤将Cloud Project部署到Azure。右击Cloud Project,选择“Publish”。
标准发布
那些熟悉SDK v1.4和早期版本的人会注意到这个截图上出现了一个新的复选框;最初是灰色的,这允许Web Deploy授权到你的Azure role。我们需要允许这一点,这样做的方式是(按照屏幕标签上的暗示)首先使Remote Desktop访问Azure role。点击“Configure Remote Desktop Connections”链接,选择Enable Connections for all Roles并按照截图上的内容填满所有需要的细节。确保你记住了你输入的密码,因为稍后你将要用到它。
设置Remote Desktop到Azure Roles
当我们一做完这些,Enable Web Deploy复选框将可以使用。
选择Enable Web Deploy复选框
这个三角显示警告:
“Web Deploy默认使用一个不受信任的,自签名的证书,建议不要上场敏感数据。请参阅帮助查看更多安全的Web Deploy信息。”
现在我建议你不要使用Web Deploy Tool上传敏感数据。如果有疑问,这不应该作为你使用的首选路径。
一旦你已经为roles激活Web Deploy,点击OK,开始部署。这是标准的完全部署,需要一段时间生成一个Instance,并实例化它。
造成这么长的延迟的原因是因为我在IIS中安装了一个新的模块,这个过程完成至少需要8到9分钟。典型的部署将会使用10到15分钟。
从我的日志来看,这个过程花费了21分钟。
12:33:52 - Preparing... 12:33:52 - Connecting... 12:33:54 - Uploading... 12:35:08 - Creating... 12:36:04 - Starting... 12:36:46 - Initializing... 12:36:46 - Instance 0 of role IPRestricted is initializing 12:41:27 - Instance 0 of role IPRestricted is busy 12:54:12 - Instance 0 of role IPRestricted is ready 12:54:12 - Creating publish profiles in local web projects... 12:54:12 - Complete.
这21分钟的延迟就是Web Deploy力图减少的。我现在将进入到我的role。
你是一个IP地址!
我们现在将要对解决方案的MasterPage做一点点小的改变,将“You are: an ip address”改为“Your IP is: an ip address”。这个变化需要对ASPX Web应用程序重新编译(通过编程或者引用上的变化也可以在这里做为例子示范)。使用Web Deploy不可能做一些改变 — 例如添加新的Roles,改变启动任务和改变ServiceDefinitions。
为了更新我们的代码,在Visual Studio中右击Web Role APPLICATION项目。这与以前通过右击云项目发布不同。选择“Publish”。
Web Deployment选项
这些选项都将替你完成,你只需要输入之前在设置Remote Desktop链接到你的Roles时输入的密码。
点击Publish生成你的程序并发布至Azure。我的这个过程只用了不到5秒钟。
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
就是那样。令人惊讶的快,我甚至不能确定它已经开始工作了。
按照下面的访问相同的Service URL
更新的Web应用程序!
正如你所看到的,web应用程序已经被更新。我们从一个21分钟的部署周期到一个5秒钟的反复的部署周期。这是令人惊讶的。
最后需要注意的一点是,引自 Windows Azure团队博客上关于使用Web Deploy的限制:
当在Windows Azure托管服务的交互式部署时使用Web Deploy请注意以下几点:
- Web Deploy只适用于单一角色实例
- 该工具仅用于反复部署和测试阶段
- Web Deploy跳过打包阶段。网页上的更改不会持久。为了保存更改,你必须对服务进行打包和部署。
Happy clouding,
Andy
本文翻译自:http://blog.bareweb.eu/2011/04/using-web-deploy-in-azure-sdk-1-4-1/
转载于:https://www.cnblogs.com/wuwa/archive/2011/04/19/6192322.html
使用Azure SDK 1.4.1中的Web Deploy相关推荐
- 无责任Windows Azure SDK .NET开发入门(二):使用Azure AD 进行身份验证
<編者按>本篇为系列文章,带领读者轻松进入Windows Azure SDK .NET开发平台.本文为第二篇,将教导读者使用Azure AD进行身分验证.也推荐读者阅读无责任Windows ...
- Windows Azure SDK 1.6让Visual Studio下的Azure开发更高效
微软已发布Windows Azure SDK 1.6,其中包括适用于Visual Studio 2010的Windows Azure Tools.以及适用于.NET的Windows Azure Lib ...
- 微软的sdk以及azure_.NET的Azure SDK:关于困难错误搜索的故事
微软的sdk以及azure When we decided to search for errors in the Azure SDK for .NET project, we were pleasa ...
- azure java sdk_使用 Azure SDK for Java
使用 Azure SDK for JavaUse the Azure SDK for Java 02/02/2021 本文内容 开源 Azure SDK for Java 简化了通过 Java 应用程 ...
- 解决Java调用Azure SDK证书错误javax.net.ssl.SSLHandshakeException
Azure作为微软的公有云平台,提供了非常丰富的SDK和API让开发人员可以非常方便的调用的各项服务,目前除了自家的.NET, Java, Python, nodeJS, Ruby,PHP等语言都提供 ...
- 最新宣布:Intuit和微软公司就Intuit合作平台的最新版Windows Azure SDK扩大合作关系...
开发人员在云中的机会成倍增加.今天Intuit提供了关于这个趋势的另一个绝好的例子,即宣布公司正在加大投资,使用Windows Azure 更好地整合Intuit合作平台.这将为开发人员和渠道合作伙伴 ...
- sql azure 语法_Azure Data Studio中SQL代码段
sql azure 语法 This article will fully cover the code snippet SQL developer productivity feature in Az ...
- sql azure 语法_Azure Data Studio中SQL Server架构比较扩展
sql azure 语法 This article explores the SQL Server Schema Compare extension in the Azure Data Studio. ...
- sql azure 语法_Azure SQL Server中的CREATE DATABASE语句概述
sql azure 语法 In this article, we will review CREATE DATABASE statement in the Azure SQL database wit ...
最新文章
- Moment矩计算公式
- c程序封装linux,Linux系统使用C语言封装线程读写锁
- CTFshow php特性 web96
- 程序是在RAM里还是flash里执行
- 2016四季度 服务器收入和出货量双下滑
- word20161207
- Nodejs教程08:同时处理GET/POST请求
- react.lazy 路由懒加载_Vue面试题: 如何实现路由懒加载?
- C#LeetCode刷题之#56-合并区间(Merge Intervals)
- 计算机硬件专业知识西瓜视频,2019年中电脑硬件榜单,空调西瓜+电脑助你当个快乐肥宅...
- 原生态mysql_MySQL 原生操作-速查
- javascript及css实现居中效果
- en55032最新标准下载_欧盟新EMC标准EN55032
- php100视频教程html,PHP100视频教程48:Ajax+PHP快速上手及应用
- OpenGL ES 送显 YUV NV12
- 26、python密度聚类方法(DBSCAN密度聚类)
- VM虚拟机更换网络环境后无法连接网络
- 自动白平衡也即:color constancy (色彩恒常)研究总结
- 数据分析师的日常工作是什么?
- Map相关、HashMap
热门文章
- java 输出 三角形_Java实现输出三角形
- vue 递归组件多级_Vue递归组件实现树形结构菜单
- 华为vrrp默认优先级_华为eNSP配置VRRP协议实验
- 神经网络与机器学习 笔记—单神经元解决XOR问题
- Linux-鸟菜-2-主机规划与磁盘分区
- hdu4965 巧用矩阵乘法结合律
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性、子节点 | 将封装的节点数据转为 Xml 字符串 )
- 【组合数学】生成函数 ( 使用生成函数求解不定方程解个数 )
- 【运筹学】线性规划 单纯形法 案例二 ( 案例解析 | 标准形转化 | 查找初始基可行解 | 最优解判定 | 查找入基变量与出基变量 | 第一次迭代 )
- mode: 'history', 去掉路由地址的#