U9二次开发之补丁制作

补丁制作

u9二开完成之后就要制作补丁发布到服务器啦,我把补丁制作的流程记录一下,供你参考。

1、还原制作补丁所需要的数据库

将补丁库.bak,还原到数据库中。

U9二次开发之补丁制作_第1张图片
U9二次开发之补丁制作_第2张图片

2、配置environment.xml文件

还原数据库之后,然后配置BuildTool目录下的environment.xml文件。

修改数据库连接信息,指向刚才还原的数据库U9Build25_YX_DEV。

只需要改数据库连接信息就行了,其他参数不用改。

 
<environment>    
    <system>    
	<connectionString>packet size=4096;user id=sa;Connection Timeout=150;Max Pool size=1500;data source=localhost;persist security info=True;initial catalog=U9Build25_YX_DEV;password=123456connectionString>
    system>    
    <view>
    	<mapper type="UFSoft.UBF.View.Query.MetadataDomainMapping, UFSoft.UBF.Business.Adapter" />
	<creator type="UFSoft.UBF.View.Query.Adapter.TranslatorCreator, UFSoft.UBF.Business.Adapter" />
    view>
    <Path>
    	<Metadatalib>d:\Metadatalib>
    Path>
    <path>
	<ubfbin>d:\ubf2.0\binubfbin>
	<ubfstudio>d:\ubf20\visual studioubfstudio>
	<ubfresources>d:\ubf20\resourcesubfresources>
	<approot>d:\u9appapproot>
    path>
environment>

3.配置desktopBuild.xml 文件

同样在BuildTool文件夹下找到desktopBuild.xml 文件。

version:u9的版本号,我这里是6.0
ProductPath:U9 Portal 文件夹所在的目录,也就是u9的安装目录
ProjectPath:补丁生成文件放置的目录
Module:补丁的模块名,可以自定义,一般以Cust开头

其他参数不需要改。


<configuration version="6.0">
  
  <Domain>CDDomain>
  <PatchBaseVersion>0PatchBaseVersion>
  <ProductPath>D:\yonyou\U9V60ProductPath>
  <ProjectPath>D:\yonyou\U9Project\MKGD\补丁ProjectPath>
  <FilePath>D:\FilePath>
  
  <DelOnRebuild>YDelOnRebuild>
  <CustomerNo>TO_BE_CustCustomerNo>
  <IsCustomer>1IsCustomer>
  <Module>Cust_CompanyNameModule>
  <SpNumber>0SpNumber>
  <IsSP>0IsSP>
configuration>

4.新建方案

打开 UFIDA.UBF.Build.Engine.DesktopBuild.exe 程序,点击新建方案按钮,新建一个方案。

U9二次开发之补丁制作_第3张图片

然后点击构造按钮:

U9二次开发之补丁制作_第4张图片

构造完成后,会在ProjectPath指定的目录下生成很多文件夹:

U9二次开发之补丁制作_第5张图片

各个文件夹的说明如下:

  • AssemblyInfo:放置Setup.bdxml,此文件是各个模块装配文件的集合
  • Files: 放置所有需要拷贝的文件,包括所有BE/BP/UI/SV的dll,UI/BE插件的配置文件,所有需要拷贝到服务器Portal下的文件
  • Metadata: 模型构造生成的文件,放置与原数据脚本一起生成的bulk文件,BE/BP/UI/SV生成的所有bulk文件(默认是生成在UBF下的,默认路径:D:\yonyou\UBFV50\U9.VOB.Product.Other)
  • PostSQL:所有需要执行的脚本
  • PreScript:是预置脚本的集合,即需要在补丁刚开始部署到服务器上时需要优先执行的脚本
  • ReportMD:放置报表模型和打印模型,所有xml混合放在一起,不要建立子文件夹存放不同模型 (构造生成的建表脚本不需要放入补丁包中,否则会清除掉数据库表原有数据)

5.复制文件

我做的是BE插件,只需要把BE插件项目编译好的dll、pdb文件和sub.xml文件复制到Files文件夹下就行了:

U9二次开发之补丁制作_第6张图片

6.生成安装信息

点击生成安装信息按钮:

U9二次开发之补丁制作_第7张图片

操作成功后会在对应目录下生成packageinfo.xml文件。

U9二次开发之补丁制作_第8张图片

打开xml文件修改一下说明信息。

U9二次开发之补丁制作_第9张图片

不知什么原因,我生成的packageinfo.xml文件中dir是空的(难道是配置问题?),我手动添加了下dir路径:

dll和pdb文件是放在\Portal\ApplicationLib路径下的,

sub.xml文件是放在\Portal\bin路径下的。


<package>
  <baseinfo code="CD6.0.Cust_Canaan.1002208310000003" name="CD6.0.Cust_Canaan.1002208310000003" type="" version="6.0" releasedate="" desc="" question="" doc="" basebuild="" referenceBuild="20090918002" IsCustomer="1" CustomerNo="TO_BE_Cust" Domain="CD" SPNum="0" Modules="Cust_Canaan," DependModules="," IsSP="0" />
  <description>说明description>
  <descriptiondetail>标准采购插件提交审核时写中间表descriptiondetail>
  <filelist>
    <file dir="\Portal\ApplicationLib;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.dll" filetype="0" />
    <file dir="\Portal\ApplicationLib;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.pdb" filetype="0" />
    <file dir="\Portal\bin;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.sub.xml" filetype="0" />
  filelist>
package>

7.生成补丁

点击生成补丁按钮生成补丁。

U9二次开发之补丁制作_第10张图片
U9二次开发之补丁制作_第11张图片

8.安装补丁

打开系统管理工具客户端,点击补丁下载与安装侧边栏,然后点击导入,添加自己的补丁。

U9二次开发之补丁制作_第12张图片

添加完后点提交按钮:

U9二次开发之补丁制作_第13张图片

然后选中你添加的补丁,安装就行了:

在这里插入图片描述
U9二次开发之补丁制作_第14张图片

最后

配置文件只需要配置一次,以后直接使用就可以了,其实打补丁本质上就是把各种dll、xml文件复制到服务器不同的文件夹之下而已,我们完全可以自己手动复制,不需要打补丁。

不过打补丁的好处是,可以记录历史的补丁数据,什么时候更新了什么东西,一目了然。

如果全是手工复制文件到服务器目录的话,时间久了就会搞不清楚以前更新了什么内容,不利于系统维护。

所以,我还是建议通过打补丁的方式更新系统。

你可能感兴趣的:(计算机基础,U9,补丁,二次开发)