如何在jenkins节点上设置多个delphi版本?

rak*_*ven 4 delphi delphi-2010 jenkins delphi-xe5

我们按照此处的描述进行 Delphi 2010设置,并且作业正常运行.

现在我们还需要将Delphi XE5添加到该节点.问题是变量BDSBDSCOMMONDIR.

它们被设置为指向例如BDS点的全局变量C:\Program Files (x86)\Embarcadero\RAD Studio\7.0.

对于XE5,BDS应该具有值C:\Program Files (x86)\Embarcadero\RAD Studio\12.0.

那么如何设置多个delphi版本呢?

Eri*_*tel 5

我正在为每个构建作业使用批处理脚本.

每个脚本都能够设置不同的环境变量.基本上我在我的特定构建脚本中设置了Delphi的rsvars.bat的内容(Delphi路径,MSBuild的路径,取决于Delphi版本等).

因此,不同构建作业的构建脚本包含对MSBuild的调用(因此我没有通过Jenkins设置MSBuild).

可能会为你看起来像这样:

set BDS=C:\PathToDelphiLib
set FrameworkDir=C:\Windows\Microsoft.NET\Framework\v3.5
set FrameworkVersion=v3.5
set PATH=%FrameworkDir%;%BDS%\bin;%PATH%
set LANGDIR=EN
// set other variables

echo @@@ building the project
MSBuild.exe %WORKSPACE%\YourApp\YourApp.dproj "/p:Win32LibraryPath=$(BDS)\lib" /target:Build /p:config=%AConfigVariable% /p:Platform=Win32 /p:DCC_ExeOutput=%OutputDirVariable% /verbosity:quiet
Run Code Online (Sandbox Code Playgroud)

在Jenkins中,我可以使用Windows Batch设置Build

call %WORKSPACE%\YourApp\ContinuousIntegration\DelphiXE2_Build_Release.bat
Run Code Online (Sandbox Code Playgroud)

一个优点是您可以级联批处理脚本并使所有逻辑远离Jenkins.我还将我的构建脚本置于版本控制之下.一切都在存储库内并受到控制.