【G】开源的分布式部署解决方案文档 - Web Deploy
G.系列导航
微软官方部署方式

右键项目->发布
这个大家应该再熟悉不过,在部署前有个预览界面可以看本次更新到底更新哪些文件。
既然它可以预览部署结果,那其实它部署也不会完全覆盖,而是采取部分覆盖的方式,并提供了增、删、改的实际数量。
这都要依赖一个叫做 Web Deploy 的项目。 传送门
当然,web deploy功能绝不仅仅如此,包括打包、备份、还原、更新数据库等。
在此不多做普及,提到了它的优点,自然要支持它。所以本项目支持原始+Web Deploy两种部署方式。
Web Deploy部署方式
不推荐用IIS的Web 平台安装程序来下载Web Deploy,我们使用的Web Deploy 3.6版本,结果运行的时候是乱码状态。
建议官网自己下载英文版,完整安装。

项目编辑界面的部署流程中的第七个部署流程,选择部署方式为Web Deploy。并填写宿主属性Json。格式可以点击宿主属性前面的问号。

注意:因为我们配合Jenkins使用,所以zip包是自己压缩的。一定要从根目录压缩,不能包含上一层文件夹。否则Web Deploy比对时会删除网站下所有文件!!!
压缩命令格式:"C:\Program Files (x86)\7-Zip\7z.exe" a -r $deploy\WebsiteName.zip C:\ProjectInstance\WebsiteName\*
如你的网站目录为 C:\ProjectInstance\WebsiteName ,则你的压缩文件解压后应该是可以直接解压到 C:\ProjectInstance\WebsiteName,而不是 C:\ProjectInstance,这里跟本项目支持的原始部署方式是有本质区别!
namespace G.Infrastructure.Plugin.DeployHost.IIS.DeployModes
{
public class WebDeployDeployWorker : IDeployWorker
{
public void Deploy(string deployFilePackagePath, string jsonHostProperty)
{
var webDeployHostProperty = JsonConvert.DeserializeObject<WebDeployHostProperty>(jsonHostProperty);
List<Tuple<string, string, string>> lstCommand = new List<Tuple<string, string, string>>(); lstCommand.Add(new Tuple<string, string, string>(
@"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe",
$@"-verb:sync -source:package=""{deployFilePackagePath}"" -dest:contentpath=""{webDeployHostProperty.WebsiteName}""",
"总更改数")); lstCommand.ForEach(command =>
{
ProcessHelper.Run(command.Item1, command.Item2, command.Item3);
});
}
}
}
Web Deploy部署调用的 msdeploy.exe,并通过package命令操作zip发布到网站名称相同的内容路径。
原始部署方式
此方式已不推荐使用,原理就是解压覆盖目录,并修改web.config文件触发最后修改,保证网站以最新状态启动。
升级版本
目前最新版本为0.0.0.2(Beta),升级执行脚本 G\SQLScripts\0.0.0.2(Beta).sql
【G】开源的分布式部署解决方案文档 - Web Deploy的更多相关文章
- 【G】开源的分布式部署解决方案文档 - 手动安装
G.系列导航 [G]开源的分布式部署解决方案 - 导航 序言 因各种原因,决定先写使用文档.也证明下项目没有太监.至于安装过程复杂,是因为还没有做一键安装,这个现阶段确实没精力. 项目进度 (点击图片 ...
- 【G】开源的分布式部署解决方案文档 - 使用手册
G.系列导航 [G]开源的分布式部署解决方案 - 导航 已知问题 导航没有联动 因为权限只是做了基础的登录校验,考虑到后面导航要跟权限关联上暂时是写死的. 只有部分界面使用了Vue.js 因为刚开始没 ...
- 【G】开源的分布式部署解决方案文档 - 部署Console & 控制负载均衡 & 跳转持续集成控制台
G.系列导航 [G]开源的分布式部署解决方案 - 导航 设置项目部署流程 项目类型:选择Console,这个跟功能无关,只是做项目分类,后面会有后续功能 宿主:选择Console 部署方式:选择原始, ...
- 【G】开源的分布式部署解决方案(一) - 开篇
做这个开源项目的意义是什么?(口水自问自答,不喜可略过) 从功能上来说,请参考 预告篇,因自知当时预告片没有任何含金量,所以并没有主动推送到首页,而是私下的给一些人发的. 从个人角度上来说,我希望.n ...
- 【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析
G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 [G]开源的分布式 ...
- 【G】开源的分布式部署解决方案 - 预告篇
为什么想到要做分布式部署解决方案? 当项目越做越大以后,你会发现部署变成一件极其头疼的事情.当然头疼的绝不仅仅在部署一个环节,比如新服务器环境搭建当中就许多坑要踩.各种重复性的工作,包括但不仅限于增加 ...
- 【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的
分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数 ...
- Rhel6-hadoop分布式部署配置文档
理论基础: Hadoop 分布式文件系统架构 HDFS 负责大数据存储 MapReduce 负责大数据计算 namenode master守护进程 datanode slaves上负责存储的进程 ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
随机推荐
- php中的实用分页类
<table width="100%" border="1" cellpadding="0" cellspacing="0& ...
- js或者php浮点数运算产生多位小数的理解
<?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?> 首先我们要知道浮点数的表示(IEEE 754): 浮点数, 以64位的长度 ...
- liunx常用命令
查看系统信息常用命令 uname -m /arch 显示机器的处理架构 uname -r 显示正在使用的内核版本 cat/proc/cpuinfo 显 ...
- 使用js在网页上记录鼠标划圈的小程序
Spin-Wheel 实现鼠标在网页上转圈时记录转动圈数的小程序,每转一圈记录一次,同时要是顺时针方向的. 问题分析与实现 这个小程序的难点在于如何知道鼠标完成了一个转圈的动作,而且人工使用鼠标划圈时 ...
- Struts2自定义拦截器Interceptor以及拦截器登录实例
1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor ...
- KoaHub平台基于Node.js开发的Koa的skip插件代码详情
koahub-skip koahub skip middleware koahub skip Conditionally skip a middleware when a condition is m ...
- 微信公众平台跳转网页url详解
1.利用Tomcat服务器部署项目,本地访问可以获取路径资源 2.开辟外网映射,实现全网访问 利用nat123端口映射工具 全网访问 3.将所获取的域名和端口设置到微信页面跳转的url,就完成了该项功 ...
- H5 拖放
HTML 5 拖放 HTML5 音频 HTML5 画布 拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中, ...
- Java 8并发工具包漫游指南
Java 8并发工具包简介 Java 8并发工具包由3个包组成,分别是java.util.concurrent.java.util.concurrent.atomic和java.util.concur ...
- @PostConstruct 注解
@PostConstruct 注解 /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. ...