我有一个通用的代码库,需要将其部署到两个不同的网站。最近,我将代码库移至Bit Bucket,并使用Jenkins自动化了我的构建。我想在我的Jenkins作业中从相同的构建输出构建两个wix脚本化的MSI软件包。 这可能吗?
我尝试创建第二个存储桶存储库,并在原始代码中构建代码以创建wix所需的输出,但是第二个存储库看不到原始存储库。
我假设,如果我仅编写第二个打包步骤,Jenkins脚本就会阻塞。
//Build the code
jenkinsBuildAgent = "msbuild"
msbuildSolutionFile = "My_only_solution_file.sln"
//Package & Publish artifacts (1)
artifactName = "My_First_Artifact"
artifactVersion = "1.0.0"
artifactPackageType = ["msi"]
msiGenerationParams = "My_First_Wix_Script.wxs"
//Package & Publish artifacts (2)
artifactName = "My_Second_Artifact"
artifactVersion = "1.0.0"
artifactPackageType = ["msi"]
msiGenerationParams = "My_Second_Wix_Script.wxs"
我还没有尝试过该脚本,我假设,因为对同一变量进行多次分配,该脚本将失败。
答案 0 :(得分:0)
我通过将整个管道包装在groovy for循环中解决了这个问题。在管道工件的主体中,我有条件地设置属性。这样行之有效,两个MSI都被打包并发布。
//Package & Publish artifacts
artifactVersion = "1.0.0"
artifactPackageType = ["msi"]
if (i == 0)
{
artifactName = "My_First_Artifact"
msiGenerationParams = "My_First_Wix_Script.wxs"
}
else
{
artifactName = "My_Second_Artifact"
msiGenerationParams = "My_Second_Wix_Script.wxs"
}