如何设置MSBuild多次编译?

时间:2017-07-11 04:11:38

标签: jenkins msbuild

在我们目前的产品中,我们有多个visual studio的解决方案文件和多个项目。 所有这些都是相互联系和相互依存的。 因此,第一个项目依赖于第4和第4个第3和第3个创建的文件,等等。 因此,如果我们编译第一个项目它将失败,因为第三个尚未生成二进制文件,我们继续编译第二个也失败然后第三个,第三个将成功,因为第一个和第二个是部分编译的相关文件可用。一旦编译完所有项目,我将重试失败的项目,他们将成功。

所以为了自动完成所有这一部分,我已经在python中编写了脚本,并且我正在重试5次并且如果5次限制完成则无法构建过程。

完整的构建过程我在python中编写了自己的逻辑。

现在的要求是,我们希望从这个自定义编写的代码切换到像Jenkins这样的现有自动化工具,以便它结构良好。但我没有在MSBuild中看到项目编译重试选项。

任何人都可以建议。

1 个答案:

答案 0 :(得分:0)

你需要在詹金斯有几份工作。假设我们需要按以下顺序执行msbuild:A.sln,B.sln,C.sln

你需要3个jenkins工作。执行作业A后,您需要告诉Jenkins触发作业B.作业B完成后,触发作业C.

我之前使用过一个名为参数化触发器的插件:

https://wiki.jenkins.io/display/JENKINS/Parameterized+Trigger+Plugin

如果说例如你需要来自作业A的人工制品,你需要执行一个批处理文件步骤来将dll复制到作业B的工作区