服务类升级的原理与操做顺序是,先选择好要升级的服务文件后,在升级器编译好服务文件,成功后,点击【一键升级】(程序会先压缩服务程序包,上传到指定ftp后,启动服务端wcf任务,先下载ftp上的升级包后,中止待升级Windows服务,并进行压缩备份成功后,删除待升级服务所在文件夹下的全部文件【这里有待优化】后,直接将升级包的文件解压到服务所在文件夹,完成此动做后,从新开启,Windows服务),成功一键升级后,就能够根据本身的配置自动测试,我这里是测试的wcf实现restful的相关接口测试,若是升级不成功,能够直接点击【一键回滚】,服务端Wcf能够直接用刚备份好的程序覆盖到服务所在文件夹,下面就列出每个动做的截图html
A、配置UpdateServiceConfig.xml,内容以下:json
<serviceconfig key="YBFWebApiServiceController" value="WebAPi微服务" target="test-lan"服务器
publishpath="F:\\win8file\Y-BaseFramework.YBF\\YBaseFramework.YBF.Publish\\YBF.WebApiServiceController"restful
uploadlocalpath="F:\\win8file\\Y-BaseFramework.YBF\\YBaseFramework.YBF.Web\\YBaseFramework.YBF.AutoDeployManageTool\\bin\\Debug\\UpdatePack\\{0}.zip"微服务
stopservices="stop"工具
bakservices="F:\\win8file\\Y-BaseFramework.YBF\\YBaseFramework.YBF.ServicesRun\\YBF.WebApiServiceController"post
startservices="start"测试
wcfserviceurl="http://127.0.0.1/Local/LocalService.svc"> 优化
<command name="Build">ui
<![CDATA[
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe F:\win8file\Y-BaseFramework.YBF\YBaseFramework.YBF.ApiServices\YBaseFramework.YBF.ApiServices.sln /t:Rebuild /p:Configuration=Debug /l:FileLogger,Microsoft.Build.Engine;logfile=logs/Build.log
]]>
</command>
</serviceconfig>
<!--publishpath 发布服务程序路径-->
<!--uploadlocalpath 上传更新包-->
<!--stopservices 中止服务-->
<!--bakservices 备份服务-->
<!--startservices 开启服务-->
<!--wcfserviceurl 自动化服务器端访问地址-->
<!--value 名称-->
<!--target test-lan online-wan -->
以上内容请根据本身的实际状况进行配置,若有问题能够联系我。
B、编译服务项目,如图
图1
表示编译成功,能够进行下一步,工具目前并无判断上一步的状态。
C、一键升级 指定配置节点的服务,如图:
图2
图3
图4
以上三张图,说明服务已经成功升级,能够根据自动化测试的配置进行下一步操做了。
D、自动测试,先要在UpdateServiceConfig.xml文件中配置,内容以下:
<!--测试服务配置部分-->
<testserviceconfig key="YBFWebApiServiceController">
<testitem name="LoginCheck0" paramtype="form" type="post" url="http://localhost:3721/hw/demo/HelloWorld/LoginCheck.html" item="status" result="0" remark="自动化测试登陆接口">
<command name="param">
<![CDATA[
USERNAME=yaosy&PASSWORD=123456&vastr=81aef5c9ac742ca56a121390ea5264ec
]]>
</command>
</testitem>
<testitem name="LoginCheck2" paramtype="form" type="post" url="http://localhost:3721/hw/demo/HelloWorld/LoginCheck.html" item="status" result="2" remark="自动化测试登陆接口">
<command name="param">
<![CDATA[
USERNAME=yaosy&PASSWORD=&vastr=81aef5c9ac742ca56a121390ea5264ec
]]>
</command>
</testitem>
</testserviceconfig>
Key 对应服务节点 Name 为名称 paramtype 为类型 form/json type为提交方式 get/post url为接口地址 item为比较结果名称 result 为比较结果 command中的内容为参数部分
成功配置以上节点内容后,能够点击【自动测试】,如图:
图5
以上是相关的接口,不同的比较结果,获得两个状态。
E、在升级和自动测试不经过后,咱们能够进行【一键回滚】,如图:
图6
图7
到此,服务类的升级已基本完成,站点站点的升级原理和服务升级同样,只是停用的是站点的应用程序池(由于IIS的版本不少,单独操做指定站点目前没有什么好的办法,若是有人知道更多好的办法,也能够联系我,感谢!)
相关工具下载:
字符串加密工具:下载
服务器端Wcf服务:下载
客户端升级工具:下载