我想使用Jenkins动态搜索*.sln
个文件并触发每个文件的构建。
我有一个具有以下结构的git存储库:
\Project1\Project1.sln
\Project2\Project2.sln
\Project3\Project3.sln
..
我目前的解决方案是有两个项目。
家长项目:
ParameterFactory
:“对于每个匹配的文件,调用一个构建”.sln
个文件并触发每个匹配文件的构建,文件名设置为:SolutionFile
儿童项目:
例如:Project1.sln
变为Project1\Project1.sln
有没有人对更好/更强大的解决方案有任何建议?
答案 0 :(得分:0)
这是迄今为止我能够提出的最佳解决方案。
有两个项目:顶级负责识别解决方案文件,子项目构建解决方案文件。
顶级项目:
执行windows powershell脚本以搜索.sln
个文件,并为每个文件创建一个属性文件:
$solutions = Get-ChildItem ./ -recurse -include *.sln
foreach ($solution in $solutions) {
Write-Host "Identified solution for build: $($solution.name)"
Resolve-Path -Relative $solution | foreach { "SolutionFile=$_" -replace '\\', '\\' | Out-File "$($solution.name).properties" -Encoding ASCII}
}
注意:我必须使用编码类型ASCII,否则参数将包含额外的字符。
构建步骤:"在其他项目上触发/调用构建"使用参数/工厂"对于每个属性文件,调用一个构建"
文件模式:*.properties
子项目:
SolutionFile
进行设置,该参数由属性文件