Я задал вопрос один раз, но я думаю, что это была неполная информация. Вот мой вопрос. Я новичок в jenkins. Я работаю над проектом в стиле jenkins. Раньше я использовал BuildForge для всех своих сборников.Дженкинс номер выпуска номер
Проблема заключается в том, что в файле свойств указан файл abc.properties. Он содержит
BuildNumber = 0
Раньше я был с помощью XML и BTM файл, через который "BuildNumber" получает в синхронизации с текущим номером сборки. Код BTM файла
эхо build.number =% ABCBuild перенаправлять: с:% BUILDBASEDIR \ MyFile \ ABCbuild.number эхо build.number =% ABCBuild
с:% BUILDBASEDIR \ 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 redirect to: c:% BUILDBASEDIR \ myfile \ filebuild.properties echo collector.build.number =% 1> с:% BUILDBASEDIR \ MyFile \ filebuild.properties эхо collector.build.type = Indiv добавить к: с:% BUILDBASEDIR \ MyFile \ filebuild.properties эхо collector.build.type = Indiv >> с:% BUILDBASEDIR \ myfile \ filebuild.properties echo.
И создать почтовый файл, в котором файл abc.properties содержит номер сборки.
Шаги, участвующие в XML-файле,
Приготовьте:
безопасной чистый:
создать-файл:
создания тока-файла-QPack:
create-file-qpack:
встроенный файл-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"/>
Строительные шаги, вовлеченные в Дженкинс являются
обтирочного рабочее пространство
неволей Синхронизировать
Run Batch Command
Invoke Ant (шаги уже упоминалось ранее)
Построение Успешно
Run сообщение сценария сборки (Batch)
makdir
создает ZIP
Я написал пакетный файл, чтобы заменить текущий номер сборки. Но после того, как ANT запускает свою всегда игру, потому что она не обновляет файл. Пакетный сценарий:
Batch script я использую есть.
@echo off
вызова: FINDREPLACE "BuildNumber = 0" "BuildNumber =% BUILD_NUMBER%" abc.properties выхода/б
: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
% Temp% _ VBS эхо-сигнала с WScript
.% temp% _. Vbs echo set args = .arguments % temp% _. Vbs echo .StdOut.Write _ % temp% _. Vbs echo Заменить (.StdIn.ReadAll, ar gs (0), args (1), 1, -1,1) % temp% _. vbs echo end with.
Теперь Пожалуйста, может кто-то сказать мне .. Как я могу поместить BuildNumber в почтовый файл. Да, zip-файл создается на локальном пути репо, а не в рабочей области.
Я использую Perforce для всех моих кодов регистрации и синхронизации.
Я думаю, что «Create-current-file» также заполняет файл и файл свойств.
Пожалуйста, помогите. Я хочу использовать подобную логику в jenkins, чтобы я мог иметь номер сборки в zip-файле. Сценарий, приведенный выше, действительно полезен. Он изменяет номер сборки в рабочей области, но не эффективен, поскольку после того, как ANT INVOKES изменит игру, я получил номер сборки как 0, потому что номер массива в perforce всегда равен 0.
Примечание: ANT получает свой файл из рабочей области, где P4 хранит его.
Что нужно сделать. Пожалуйста, помогите, я уже три дня на нем.
Спасибо HX :) У меня есть проблема. Для создания сборки требуется файл Build.Properties. Я написал код Java и использую pushd и popd для вставки этого значения в файл свойств. Еще раз спасибо – vicky