如何使用存储库中包含的 MSBuild 和编译器构建 delphi 应用程序(未随 IDE 一起安装)
HowTo build a delphi application with MSBuild and a compiler included into the respository (not installed with IDE)
我的问题是下面的场景是否可能。
- 我有一个安装了 MSBuild 的系统(可能是 Docker 图像)。
- 我有一个存储库,其中包含我的源代码 (Delphi) 和 delphi 编译器(目录 bin 和 lib)。
- 现在我在该系统上检出我的存储库并想使用 msbuild 构建我的应用程序,而 msbuild 应该使用我的存储库中的编译器。
这背后的想法是,将构建我的应用程序所需的所有数据(源代码、资源、编译器、构建脚本......)放在一个地方。我想使用 MSBuild,因为在那里我可以构建 .dproj 文件而不是包含较少信息(例如:搜索路径)的 .dpr 文件(带有 dcc)。
在 BIN 文件夹中有一个名为 RSVARS.bat 的文件,用于设置所需的环境变量。当您将包含 BIN/LIB 文件夹的存储库克隆到您的构建机器时,您应该考虑所需的路径并创建一个新的 rsvars.bat 或根据需要更新此文件。
然后您可以 运行 像这样构建您的项目:
msbuild projectname.dproj /t:build /p:Configuration=Release /p:platform=Win32
我最近在博客 post 中详细介绍了 Jenkins 和 Delphi 构建。您可以浏览 Jenkins 部分并仅参考命令行构建信息,主要是“配置 A Delphi 构建代理”和“在 Delphi 项目上使用 MSBuild 的注意事项”部分:https://www.ideasawakened.com/post/getting-started-with-ci-cd-using-delphi-and-jenkins-on-windows
我的问题是下面的场景是否可能。
- 我有一个安装了 MSBuild 的系统(可能是 Docker 图像)。
- 我有一个存储库,其中包含我的源代码 (Delphi) 和 delphi 编译器(目录 bin 和 lib)。
- 现在我在该系统上检出我的存储库并想使用 msbuild 构建我的应用程序,而 msbuild 应该使用我的存储库中的编译器。
这背后的想法是,将构建我的应用程序所需的所有数据(源代码、资源、编译器、构建脚本......)放在一个地方。我想使用 MSBuild,因为在那里我可以构建 .dproj 文件而不是包含较少信息(例如:搜索路径)的 .dpr 文件(带有 dcc)。
在 BIN 文件夹中有一个名为 RSVARS.bat 的文件,用于设置所需的环境变量。当您将包含 BIN/LIB 文件夹的存储库克隆到您的构建机器时,您应该考虑所需的路径并创建一个新的 rsvars.bat 或根据需要更新此文件。
然后您可以 运行 像这样构建您的项目:
msbuild projectname.dproj /t:build /p:Configuration=Release /p:platform=Win32
我最近在博客 post 中详细介绍了 Jenkins 和 Delphi 构建。您可以浏览 Jenkins 部分并仅参考命令行构建信息,主要是“配置 A Delphi 构建代理”和“在 Delphi 项目上使用 MSBuild 的注意事项”部分:https://www.ideasawakened.com/post/getting-started-with-ci-cd-using-delphi-and-jenkins-on-windows