• U9二次开发之补丁制作


    补丁制作

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

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

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

    在这里插入图片描述
    在这里插入图片描述

    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    4.新建方案

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

    在这里插入图片描述

    然后点击构造按钮:

    在这里插入图片描述

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

    在这里插入图片描述

    各个文件夹的说明如下:

    • 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文件夹下就行了:

    在这里插入图片描述

    6.生成安装信息

    点击生成安装信息按钮:

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    不知什么原因,我生成的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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    7.生成补丁

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

    在这里插入图片描述
    在这里插入图片描述

    8.安装补丁

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

    在这里插入图片描述

    添加完后点提交按钮:

    在这里插入图片描述

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

    在这里插入图片描述
    在这里插入图片描述

    最后

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

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

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

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

  • 相关阅读:
    RocketMQ源码(6)—Producer生产者启动源码【一万字】
    Error-onnxruntime.capi.onnxruntime_pybind11_state.Fail:
    实现一个Prometheus exporter
    Android 12.0 进入recovery模式(等待用户选择recovery模式界面)进入自动恢复出厂设置模式
    回归预测 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络的数据多输入单输出回归预测
    第三章:最新版零基础学习 PYTHON 教程(第十节 - Python 运算符—Python 中的运算符重载)
    CPU的三级缓存
    Python工程师Java之路(p)Maven聚合和继承
    【redis过期删除】
    最近Intelli Idea官方2023
  • 原文地址:https://blog.csdn.net/zhanyd/article/details/126607039