zoukankan      html  css  js  c++  java
  • Inno Setup 实现每次jenkins自动构建时版本号自动+1

    1、修改文件内容

    • iss文件:

    • client_config.xml

    • fshelp.rc

    • Language.xml

    2、bat脚本内容

    @echo off
    
    echo ---------3.9.4.0--------------------------------------  
    for /f "delims=" %%i in (version_new.txt) do set currenversion=%%i 
    set lastnum=%currenversion:~6%
    set /a value=%lastnum%+1
    echo %value%
    set firstnums=%currenversion:~0,6%  
    set firstnums=%firstnums: =%
    set newversion=%firstnums%%value%
    
    echo lastnum=%value%
    echo firstnums=%firstnums%
    echo newversion=%newversion%
    echo currenversion=%currenversion%
    
    set currenversion=%currenversion: =%
    set newversion=%newversion: =%
    
    >version_old.txt set /p="%currenversion%"<nul
    >version_new.txt set /p="%newversion%"<nul
    
    echo ---------03.09.04.00--------------------------
    set /a num=9
    if %value% GTR %num% (	
    	>version_config_new.txt set /p="03.09.04.%value%"<nul	
    )  else (
    	>version_config_new.txt set /p="03.09.04.0%value%"<nul	
    )
    
    echo ---------1,0,0,0--------------------------
    >version_help1_new.txt set /p="3,9,4,%value%"<nul
    
    echo ---------1, 0, 0, 1--------------------------
    >version_help2_new.txt set /p="3, 9, 4, %value%"<nul
    
    ant -f build.xml
    
    
    

    在jenkins构建时执行到这个bat文件,之前是没有写最后一步的ant -f build.xml,则这种 “>version_new.txt set /p="%newversion%"<nul”写文件的方式在构建就会报错,

    换做echo的方式写文件就可以,但是写的文件内容里有回车键,无意中发现,在最后加了“ant -f build.xml”这一行命令,竟然就通过了!

    没找到具体原因!

    3、build.xml脚本

    <?xml version="1.0" encoding="utf-8"?>
    
    
    <project basedir="." default="upd" name="fswin">
        <property environment="env"/>
        <property name="ECLIPSE_HOME" value="D:/Program Files (x86)/MyEclipse 6.5/eclipse"/>
    	<!--<property name="version_old1" value="3.9.4.0"/>
    	<property name="version_number1" value="3.9.4.1"/>-->		
    	<property name="config_old" value="03.09.04.00"/>	
    	<property name="language_old" value="3.9.4.0"/>	
    	<property name="help_old1" value="1,0,0,1"/>
    	<property name="help_old2" value="1, 0, 0, 1"/>
    	<property name="fastmeeting_old1" value="3,9,4,0"/>
    	<property name="fastmeeting_old2" value="3.9.4.0"/>
    	
        <property name="iss_dir1" value="E:installHST运营版"/>
        <property name="iss_dir2" value="E:install中性版运营版"/>
    	<property name="iss_dir3" value="E:install测试运营版"/>
    	<property name="bat_dir"  value="E:installfing_3.9.4uildvesion"/>
    	<property name="confxml_dir" value="E:sourcefs_win3.9.4clientencrypt"/>
    	<property name="source_dir" value="E:sourcefs_win3.9.4client"/>
    	
    <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>  
        <target name="upd">
            <!--修改安装包文件的版本号	-->
    		<loadfile property="version_old1" srcFile="./version_old.txt"  encoding="utf-8"/>   
    		<loadfile property="version_number1" srcFile="./version_new.txt" encoding="utf-8"/>	
    		<echo message="${version_old1}"/>
    		<echo message="${version_number1}"/>		
    		<replace encoding="utf-8" file="${iss_dir1}FMDesktopYun.iss" token="${version_old1}" value="${version_number1}" />
    		<replace encoding="utf-8" file="${iss_dir2}FMDesktopYun_ZX.iss"  token="${version_old1}" value="${version_number1}" />
    		<replace encoding="utf-8" file="${iss_dir3}FMDesktopYun_test.iss"  token="${version_old1}" value="${version_number1}" />
    		 
    		<!--修改client_config_yun的版本号-->   
    		<loadfile property="version_number2" srcFile="./version_config_new.txt" encoding="utf-8"/>	
    		<echo message="${config_old}"/>
    		<echo message="${version_number2}"/>
    		<replace encoding="utf-8" file="${confxml_dir}client_config_yun.xml" token="${config_old}" value="${version_number2}" />
    		<replace encoding="utf-8" file="${confxml_dir}client_config_yun_zx.xml" token="${config_old}" value="${version_number2}" />
    		<replace encoding="utf-8" file="${confxml_dir}client_config_yun_test.xml" token="${config_old}" value="${version_number2}" />
    		
    		<!--修改FSHelp.rc的版本号-->  
    		<loadfile property="version_number3" srcFile="./version_help1_new.txt" encoding="utf-8"/>	
    		<loadfile property="version_number4" srcFile="./version_help2_new.txt" encoding="utf-8"/>
    		<echo message="${help_old1}"/>
    		<echo message="${version_number3}"/>
    		<echo message="${help_old2}"/>
    		<echo message="${version_number4}"/>
    		<replace encoding="GBK" file="${source_dir}FSHelpFSHelp.rc" token="${help_old1}" value="${version_number3}" />
    		<replace encoding="GBK" file="${source_dir}FSHelpFSHelp.rc" token="${help_old2}" value="${version_number4}" />
    		
    		<!--修改Language.xml的版本号-->  	
    		<echo message="${language_old}"/>
    		<replace encoding="utf-8" file="${confxml_dir}language_toolLanCfgLanguage.xml" token="${language_old}" value="${version_number1}" />
    		<replace encoding="utf-8" file="${confxml_dir}language_toolLanCfgLanguage_zx.xml" token="${language_old}" value="${version_number1}" />	
    		
    		<!--修改FastMeeting.rc的版本号-->
    		<replace encoding="GBK" file="${source_dir}Fting.rc" token="${fastmeeting_old1}" value="${version_number3}" />
    		<replace encoding="GBK" file="${source_dir}Fting.rc" token="${fastmeeting_old2}" value="${version_number1}" />
    		
       </target>      
        
    </project>
    

      

  • 相关阅读:
    KETTLE集群搭建
    初识spark
    利用python操作mrjob实例---wordcount
    hive 优化 (转)
    hive权限管理
    hadoop常用操作命令
    hive的分桶
    Hive HQL基本操作
    hadoop--hive数据仓库
    Hive配置项的含义详解
  • 原文地址:https://www.cnblogs.com/kissfancy/p/5829680.html
Copyright © 2011-2022 走看看