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:\install\HST\運營版"/>
    <property name="iss_dir2" value="E:\install\中性版\運營版"/>
	<property name="iss_dir3" value="E:\install\測試\運營版"/>
	<property name="bat_dir"  value="E:\install\fing_3.9.4\build\vesion"/>
	<property name="confxml_dir" value="E:\source\fs_win3.9.4\client\encrypt"/>
	<property name="source_dir" value="E:\source\fs_win3.9.4\client"/>
	
<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}\FSHelp\FSHelp.rc" token="${help_old1}" value="${version_number3}" />
		<replace encoding="GBK" file="${source_dir}\FSHelp\FSHelp.rc" token="${help_old2}" value="${version_number4}" />
		
		<!--修改Language.xml的版本號-->  	
		<echo message="${language_old}"/>
		<replace encoding="utf-8" file="${confxml_dir}\language_tool\LanCfg\Language.xml" token="${language_old}" value="${version_number1}" />
		<replace encoding="utf-8" file="${confxml_dir}\language_tool\LanCfg\Language_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>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM