Jenkins分布式建筑配置

时间:2012-09-27 18:54:54

标签: continuous-integration jenkins

我正在尝试用4种不同的配置构建一个软件项目:32位调试,32位释放,64位调试,64位调试,在Windows 7机器上。我们的设置目前涉及主设备(0个执行器)和2个从设备,每个设备有2个执行器。一个奴隶是Mac,另一个是Windows机器 - 我目前只是想在Windows上构建。

我的配置矩阵设置如下:

  • 第一轴:用户定义的轴,名称:架构,值:32位,64位
  • 2nd Axis:Slaves,Name:OS,我选择了代表Windows机器的节点
  • 第三轴:用户定义的轴,名称:BuildType,值:debug,release

矩阵......

+----------------------+-------+--------+
| Configuration Matrix | 32bit | 64-bit |
+----------------------+-------+--------+
| Debug                |   X   |    X   |
+----------------------+-------+--------+
| Release              |   X   |    X   |
+----------------------+-------+--------+ 

它能够成功地将Git中的源代码检出到工作区中的所有4个构建文件夹中。但是,在定义构建步骤时,我会迷失方向。我选择“执行Windows批处理命令”。这就是我迷失的地方......我在框中指定了什么,以便根据4个版本中的哪个版本知道要调用哪个批处理文件?

我认为它与Jenkin的环境变量有关,但我设想做类似的事情:

if (Windows Slave Machine)
{
    if (Architecture == 32bit)
    {
        if (BuildType == debug)
        {
            //Call win_32bit_debug.bat
        }
        else
        {
            //Call win_32bit_release.bat
        }
    }
    else
    {
        if (BuildType == debug)
        {
            //Call win_64bit_debug.bat
        }
        else
        {
            //Call win_64bit_release.bat
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您不必在“执行Windows批处理命令”中编写此日志if-statement。 只是尝试使用已经定义的变量:

win_%Architecture%_%BuildType%.bat