`
thecloud
  • 浏览: 884868 次
文章分类
社区版块
存档分类
最新评论

手动发布代码包到Azure云服务

 
阅读更多

Windows Azure的云服务(cloud service)提供了多种软件包的发布方式,最常用的一种是直接从开发工具或者命令行工具实时发布,比如:
•.NET:用Visual studio在项目上右键发布
•Java:在Eclipse里面在项目上右键发布
•PHP:在Powershell命令行下用Publish-AzureServiceProject命令发布

这些发布方法的实际过程,可以分解为:将软件打包为cspkg,将cspkg上传至Azure,在Azure上执行发布命令。这种发布十分方便,但有一个缺点,就是当网络质量不好或者软件包比较大的时候,发布容易失败。如果遇到这种情况,我们可以采用其他的方法,包括:

  • 用微软提供的代码管理服务Team Foundation Service(TFS)。TFS跟以前的Team Foundation Server是类似的,不过这是一个PaaS服务,用户不需要自己建server,只需要在微软网站上开通帐号,TFS就会给你建一个空间。用户可以首先将代码上传到TFS,然后将TFS与云服务关联,之后就可以将软件包从TFS发布到云服务了。这个过程中TFS可以执行编译、打包等一系列动作。Visual studio也与TFS进行了天然的集成,因此.NET用户可以采用这种方法,特别是需要进行代码控制和版本控制时,用户可以选择发布哪个版本
  • 另外一种方法就是把软件自己打包,然后在Azure界面上直接发布(云服务的仪表板点击“上载...”,然后在对话框中选本地文件)。这种方法一般很少用,因为它同样会受到网络质量的影响,经常发布失败。而且,当软件包很大时,这样做效率很低
  • 最后一种常用的方法,就是通过存储做中转进行发布。

首先,使用开发工具或者打包工具将源代码编译、打包为Azure要求的cspkg格式:
•.NET: Visual studio在Azure项目上右键,选"打包"
•Java: Eclipse里面选择Azure项目,在Eclipse工具栏按钮找到“Build Cloud Package for Windows Azure”
•PHP: 在Powershell该项目根目录下执行Publish-AzureServiceProject

打包命令完成后,都会生成两个文件:ServiceDefinition.def和xxxx.cspkg。这时,就可以上传他们到存储了

进入Windows Azure的存储服务页面,先创建一个存储账号,具体过程参考http://blog.csdn.net/shaunfang/article/details/8486009

为了上传,我们需要一个工具能够上传文件到Azure。目前有几个工具可用,可参考http://blog.csdn.net/shaunfang/article/details/8647557。推荐使用CloudBerry,http://www.cloudberrylab.com/microsoft-azure-explorer-pro.aspx。其用法跟FTP客户端类似。

将cspkg文件上传后,就可以进入云服务的仪表板,点击“上载....”。如果是更新发布,则在底部菜单点击“更新”

在弹出的对话框中,输入部署名称。在程序包输入框中,点击“来自存储区”。

在弹出的对话框中找到刚才上传的cspkg文件,然后确认。

在配置输入框中,上传csdef文件,这个文件比较小,可以通过云存储中转,也可以直接从本地上传

然后选中下面的“即使一个或多个角色包含单个实例也进行部署”以及“启动部署 ”。点击确认

接下来就可以等待部署完毕了


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics