平台部署发布案例总结2014/07

 

/**************************<< 平台部署发布案例总结2014/07 >> ****************************/

 

VS.NET WEB项目/网站 部署和安装概述

 

1. Net. WEB项目分类

   WEB项目结构分为Web Application Project (web,services,wpf,mvc..) 和Web Site Project

 

主要的差异在 Web Site Project 可以不必编译就可以修改程式看到結果, 而Web Application Project使用了增量编译模式,仅只有文件被修改后,这部分才会被增量编译进去, 先編译然后才可查看结果,我们的平台(PlatForm)采用Web Site的方式.

但Web Site Project 虽然不需要编译,可是程式的代码因为未经编译成DLL的过程,可能导致会让代码外洩,会生成随机的程序集名,需要通过插件WebDeployment才可以生成单一程序集.

使用webApplication的方式,可以指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序集的名字、版本、输出位置等信息, 也可以将网站拆分成多个项目以方便管理, 它还支持VSTS的Team Build, 方便每日构建, 可以对编译前后进行自己规定的处理,对App_GlobalResources的Resource强类支持等.

 

建议一般采用webApplication的方式建站.

 

2. VS WEB发布安装可分为三种方式:

 1. 创建Web安装部署项目, 生成web.Setup安装包,用于产品版本发布

 2. 直接发布网站(适用于web site站点).

 3. 插件部署(PluginInstaller,  aspnet_compiler.exe, WebDeploy…)

  

发布历史:

             1. Vs2003下的网站生成后可以生一个唯一的命名程序集(项目名称.dll)

            2. Vs2005,Vs2008默认为每个webSite或页面随机命名的App_web xxx.dll.., 如果不采用预编译的方式那么产生的文件会更多,这样会给想Copy Patse方式的更新带来不便.所以可以用三方插件的方式打包部署.

             3. Vs201X 出于这个原因所在VS2010后的版本中,VS已经自带有发布署的功能.对于VS2005,2008或转换的旧版本还是要借助于WDP这个小工具进行打包发布.

 

3.  插件部署(WebDeploy)    

Web Deploy 安装

        客户端需要安装打包插件(webDeploymentStep for vs2010):

      http://download.microsoft.com/download/A/E/3/AE317298-AA5B-4328-B2F8-5B8E51F0917B/WebDeploymentSetup.msi

        服务端组件安装(web Deploy V3.X):

      http://www.microsoft.com/zh-cn/download/details.aspx?id=39277

 

       优点:

        1.合成aspx下cs,appcode下cs及web下的cs文件,可以使网站安全并且使网站性能提高

2.可以及时发现一些认为不是很大的错误,在生成网站或生成解决方案时忽略的错误等,尤其是一些不合伦理的继承类,以及一些文件重名。

 

  1. 4.  案例分析之----TianYi平台项目WebDeploy打包步骤

 

    Tianyi Web站点采用的是Web Site的建站方式,在不需要转换项目迁移的情况下,应采用插件WebDeploy方式部署.

 

   4.1 站点项目首选使用Release配置

      

  

4.2 使用web Deployment Project..方式打包.

 

     填写输入生成网站包及目录的名称[如:WebDeploy]

      

 

   4.3 配置WebDeploy属性.

Output Assemblies中的四大选项:(建议选择第三项[可起名为:OperateDLL.dll等])
1,  Merge all outputs to a single assembly-所有输出都编译成一个程序集(参数: 程序集名称)
    Treat as library component (remove the App_Code.compiled file) -App_Code视为类库(删除App_Code.compiled文件)

2,  Merge each individual folder output to its own assembly -WEB项目中单独的目录会编译到一个.程序集中(参数: 程序集前缀)

3,  Merge all pages and control outputs to a single assembly -所有页面UI编译到一个程序集中其它控件,资源文件等编译到别外一个程序集中。(参数: 程序集名称)

4,  Create a separate assembly for each page and control output -为每一个页面和控件创建程序集

 

 

 

  4.4 配置更新或替换Config文件设置(可选)

      Enable Web.config file section replacement

你可以在开发时用自己的web.config设定,但是在部署的时候动态替换成另一个web.config的内容,例如你可以替换appSettings或connectionStrings的内容

 

 

 

4.5 生成部署包.. 或 生成项目 [WebDeploy.ZIP 和PackageTmp文件]

     

 

 

 

4.6 服务器部署或更新.

 

   服务端启用Web Deploy服务

 

 

 

自动更新—VS201x自带的发布包可进行远程生动更新.

 手动更新--导入导出操作

1. 对于新发布的网站需要导入操作[WebDeploy.ZIP]

2. 对于更新的网站也可以导入[附加操作],或者手动[WebDeploy.ZIP]

3. 手动Copy + Paste操作[对于少部分文件,可更新Bin中的dll,或修改的页面aspx文件等资源文件]

 

     1. 导入ZIP文件:

      

      

 

     

 

  

2. Copy + paste部分更新:

     

     对于少部分更新文件,可用于Copy操作[请从部署包中选择需要更新的文件: …\obj\Release\Package\PackageTmp\]

     从PackageTemp文件夹中Copy BIN文件下的dll文件,或修改后的aspx页面文件或其它资源文件.

         

 

 打包后的aspx页面的区别就是多指向了”xxxx, OperateDLL”这个程序集. 

 

 

  设置WEB站点虚拟目录并加入读写用户权限IISUser等

 

 

  1. 5.  数据部署

   

   数据项目脚本发布/迭代/更新..

 

  

  

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值