jenkins - 为什么 MSbuild 不使用 Jenkins 在单个操作中构建多个项目?

标签 jenkins msbuild jenkins-plugins

要构建 .NET 项目,我在 Jenkins 作业的“构建”部分下使用“使用 MSBuild 构建 Visual Studio 项目或解决方案”插件。

通过使用它,我可以通过指定以下详细信息来单独运行一个项目文件。

MSBuild Version: msbuild(set through environment variables)
MSBuild Build File: ProjectA.sln 
Command Line Arguments:  /p:Configuration=Release

我尝试通过在第一个项目旁边提供空格和逗号来提供另一个项目文件。 Jenkins 作业构建以失败告终。在我的 jenkins 工作中,我无法使用此插件构建多个项目。

通常我们可以使用迭代来做到这一点(获取特定目录中的所有解决方案文件并构建它)。

但是在 jenkins 中,是否可以通过循环“使用 MSBuild 构建 Visual Studio 项目或解决方案”或任何其他可用选项(插件)来实现这一点,例如将多个项目传递给 MSBuild 构建文件: 并一步构建(而不是一次又一次地使用“使用 MSBuild 构建 Visual Studio 项目或解决方案”来构建剩余的项目?

最佳答案

如果您正在构建单个 .sln 文件 - 您可以控制为特定配置构建哪些项目(在您的情况下是发布)。只需在 Visual Studio 的配置管理器中包含构建所需的项目。

作为替代方法 - 您可以创建非常简单的 msbuild 脚本,它将包含您要构建的所有项目\解决方案,并在您的 Jenkins 任务中使用该聚合构建脚本。

注意:有点迂腐 - 解决方案文件不是 msbuild 文件,但 .*proj 通常是。通常,您会有一个包含所有项目的解决方案文件。当调用 msbuild.exe 构建解决方案文件时 - 它会根据 .sln 文件中的所有设置自动生成自定义构建脚本,然后构建该自动生成的脚本...

关于jenkins - 为什么 MSbuild 不使用 Jenkins 在单个操作中构建多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38145227/

相关文章:

msbuild - Azure DevOps - 错误 : The value for PublishProfile is set to 'FileSystem'

.net - MSBuild AfterBuild 消息未实时显示

.net - 构建服务器上的 Visual Studio 2017 依赖项验证项目

jenkins - 如何在多个 Jenkins 作业中大量添加构建后操作

linux - 无法从 Jenkins 访问 git repo

jenkins - 如何让 Jenkins 管道在(任何)代理机器上运行,但从不掌握?

jenkins - BB10 从命令行启动应用程序

groovy - Jenkins 中 groovy jsonBuilder 出现间歇性堆栈溢出错误

jenkins - 在 jenkins 的插件管理器中看不到安装按钮

ios - Jenkins iOS 归档错误与 Pods FIRCoreDiagnostics.m 正常armv7