如何在Jenkins节点上安装多个Delphi版本?

4

我们已经按照这里描述的方式安装了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版本?


我猜你需要项目特定的环境变量:http://jenkins-ci.361315.n4.nabble.com/Project-specific-environment-variables-td1458949.html - David Heffernan
1个回答

5
我正在为每个构建任务使用批处理脚本。
每个脚本都能够设置不同的环境变量。基本上,我在我的特定构建脚本中设置Delphi's rsvars.bat的内容(Delphi路径,根据Delphi版本设置到MSBuild的路径等)。
因此,特定构建作业的构建脚本包含对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

在Jenkins中,我可以使用Windows批处理设置构建

call %WORKSPACE%\YourApp\ContinuousIntegration\DelphiXE2_Build_Release.bat

优点是您可以级联批处理脚本,并将所有逻辑与Jenkins分开。我还将构建脚本放在版本控制下。所有内容都在存储库中并得到控制。


我为每个作业设置了变量,并在主服务器上配置了不同的MSBuild环境,它可以正常工作。我的Jenkins配置文件已经在版本控制下。批处理文件是特定于节点的,因此我不想将它们放在我的项目中,也许应该放在另一个仓库中。 - rakekniven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接