zoukankan      html  css  js  c++  java
  • 平台部署发布案例总结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操作[请从部署包中选择需要更新的文件: …objReleasePackagePackageTmp]

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

             

     

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

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

    1. 5.  数据部署

       

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

      

      

       

  • 相关阅读:
    ZOJ 3818 Pretty Poem
    HDU 4597 Play Game
    HDU 4497 GCD and LCM
    CSU 1335 高桥和低桥
    UVA 10791 Minimum Sum LCM
    CSU 1119 Collecting Coins
    CSU 1120 病毒
    UVA 12169 Disgruntled Judge
    HDU 1301 Jungle Roads
    POJ 1258 Agri-Net
  • 原文地址:https://www.cnblogs.com/smileberry/p/4043346.html
Copyright © 2011-2022 走看看