질문을 한 번 게시했지만 불완전한 정보라고 생각합니다. 여기 제 질문입니다. 나는 젠킨스를 처음 사용합니다. 젠킨스에서 무료 스타일의 프로젝트를 운영하고 있습니다. 이전에는 모든 빌드에 BuildForge를 사용했습니다.Jenkins 빌드 번호 문제
문제는 abc.properties 파일에 등록 정보 파일이 있다는 것입니다. 그것은 포함
Buildnumber = 이전에 내가 "BuildNumber는"현재 빌드 번호와 동기화 얻을 수있는을 통해 XML과 BTM 파일을 사용하고 있었다
0. C : BUILDBASEDIR % \ myfile을 \ ABCbuild.number 에코 build.number = % ABCBuild
C %의 BUILDBASEDIR BTM 파일의 코드
에코 build.number = % ABCBuild 리디렉션이고 \ myfile \ ABCbuild.number echo build.number = % ABCBuild는 다음으로 리디렉션됩니다. c : % BUILDBASEDIR \ myfile \ GUIbuild.number echo build.number = % ABCBuild> c : % BUILDBASEDIR \ myfile \ GUIbuild.number echo collector.build .number = % 1 리디렉션 대상 : c : % BUILDBASEDIR \ myfile \ filebuild.properties echo collector.build.number = % 1> c : % BUILDBASEDIR \ myfile \ filebuild.properties echo collector.build.type = indiv 다음에 추가 : c : % BUILDBASEDIR \ myfile \ filebuild.properties echo collector.build.type = indiv >> c : % BUILDBASEDIR \ myfile \ filebuild.properties echo.
그리고 그것은 abc.properties 파일이 빌드 번호를 포함하는 zip 파일을 만듭니다.
안전 청소 : XML 파일에 포함
단계 준비
를 젠킨스에 참여있습니다
만들 파일을 :
만들-현재 파일 qpack :
을 파일 생성 - Q 팩 :
,빌드 파일 qpack :만들-현재 파일 rpack을 :
생성 - 파일 rpack :
빌드 파일 rpack :
준비-anystudio :
을채우기 파일 소품 :
만들-현재 파일 :
<target name="create-current-file" depends="prepare-anystudio,fill-file-props">
<property name="file.name" value="${file.name}"/>
<property name="file.version" value="${file.version}"/>
<property name="file.path" value="${file.path}"/>
<echo message="Building file ${file.name} version ${file.version}......."/>
<delete dir="${cur.dirname}/${dir.final}/files/${file.name}"/>
<echo message="-sourcefiles ${file.path}/${file.name} -output ${cur.dirname}/${dir.final}"/>
<java dir="${cur.dirname}/${dir.filestudio.exec}"
classname="com.comp.cas.ucf.configtool.DistributionUtil" failonerror="true" fork="yes">
<classpath refid="classpath.studio"/>
빌드 단계는
닦아 아웃 작업 공간
억지로 동기화
실행 배치 명령
호출 개미 (단계 앞서 언급 한)
빌드 성공
실행 포스트 스크립트 (배치)
는 우편 나는 현재 빌드 번호를 대체하는 배치 파일을 작성했습니다
를 생성
makdir을 구축 할 수 있습니다. 그러나 ANT가 파일을 업데이트하지 않기 때문에 항상 게임 오버 상황을 실행합니다. 배치 스크립트는
배치 스크립트를 사용하고 있습니다.
지금 누군가가 .. 말해 줄 수주십시오. 예, zip 파일은 작업 공간이 아닌 로컬 저장소 경로에서 생성됩니다.@echo off
호 : FindReplace "Buildnumber = 0", "Buildnumber = %의 BUILD_NUMBER %의" abc.properties 출구/B
:FindReplace <Buildnumber=0> <Buildnumber=111> <collector.properties> set tmp="%temp%\tmp.txt" If not exist %temp%\_.vbs call :MakeReplace for /f "tokens=*" %%a in ('dir "%3" /s /b /a-d /on') do ( for /f "usebackq" %%b in (`Findstr /mic:"%~1" "%%a"`) do ( echo(&Echo Replacing "%~1" with "%~2" in file %%~nxa <%%a cscript //nologo %temp%\_.vbs "%~1" "%~2">%tmp% if exist %tmp% move /Y %tmp% "%%~dpnxa">nul )) del %temp%\_.vbs exit /b :MakeReplace
% 임시 % _ VBS 에코
Wscript가 가진.% temp % _ .vbs echo set args = .gargs % temp % _ .vbs echo .StdOut.Write _ % temp % _ .vbs echo (.StdIn.ReadAll, ar gs (0), args (1), 1, -1,1) % temp % _. vbs echo end.내가 zip 파일에 buildnumber을 넣을 수있는 방법
내 코드 체크인 및 동기화에 Perforce를 사용하고 있습니다.
"Create-current-file"은 내 파일 및 속성 파일도 채우고 있다고 생각합니다.
도와주세요. 젠킨스에서 유사한 로직을 사용하여 zip 파일에 빌드 번호를 가질 수 있기를 바랍니다. 위의 스크립트는 정말 도움이됩니다 그것은 작업 공간에서 빌드 번호를 변경하지만 ANT가 게임을 변경 한 후에도 효과가 없습니다. PERFORCE의 빌드 번호가 항상 0이기 때문에 buildNumber를 0으로 설정했습니다.
참고 : ANT는 P4가 저장 한 작업 공간의 파일.
수행해야 할 작업. 제발 도와 줘요. 벌써 사흘을 보냈어요.
감사합니다. HX :) 문제를 파악했습니다. 빌드를 생성하려면 Build.Properties 파일이 필요합니다. 자바 코드를 작성하고 pushd와 popd를 사용하여 특성 파일 내에이 값을 삽입하십시오. 다시 한번 감사합니다 – vicky