@CYTand
2018-07-25T01:51:31.000000Z
字数 1355
阅读 2566
Jenkins
原参数:
@rem 参数为目标文件最终部署到服务器什么位置的问题,不同job会有不同,所以源代码中不应关心,由配置管理员单独配置
@rem jenkinsbuild.bat E:\Jenkins_Release\%JOB_NAME% human test
powershell -command Set-ExecutionPolicy RemoteSigned
powershell platform\build.by.args.ps1 -Output Y:\vm-jenkins3CI\%JOB_NAME% -Purpose human -Release test -JobName %JOB_NAME% -Tool vs2017 -QtVer 5.9 -Packing packing -BuildNum %BUILD_NUMBER% -DateTime %BUILD_ID% -SvnVer %SVN_REVISION% -SFDAVer 2.2.0 -FDAVer 1.0.0 -CEVer 2.2.0 -DebugScript 0 -UnitTest yes -Product us66
1、需要重新建立一个项目,类型为 Multi-configuration project
2、其他设置不变,只需要在 Configuration Matrix
模块中设定变量及可选值,比如我们参数中常需要更改的两个参数是 Purpose
和 Release
(参数中标粗的字串),那就把这两个当成可选参数;(Todo:其实版本号也应该要改,而且需要跟着purpose
走,人用 尾数.0、兽用尾数 .1,再看看用什么形式改更简单);
如增加
• 第一个:
name: purpose
value: human vet
• 第二个:
name: release
value: test release
注意:一定要勾选按顺序执行
3、那原参数中,human和test的位置就可以使用 %purpose%
和 %release%
替换即可
4、这样的话会在一个build中构建四次,因为 2*2=4,分别生成:人用test、人用release、兽用test、兽用release,但实际上我们可以不需要生成这么,多,那就可以使用过滤器去除不需要的构建就行,比如归档时我们不需要 兽用 test,可以在 filter中使用 purpose=="vet" && release != "test"
过滤掉
解决done:其实版本号也应该要改,而且需要跟着purpose走,人用 尾数.0、兽用尾数 .1,再看看用什么形式改更简单;
可以增加一个version
变量,值为 0 和 1 ,那就把每个版本号的尾数替换为 %version%
通过过滤器筛选出要编译的版本:
( purpose == "human" && release == "release" && version == "0" )
|| ( purpose == "human" && release == "test" && version == "0" )
|| ( purpose == "vet" && release == "release" && version == "1" )