jenkins 参数化构建

jenkins 参数化构建_第1张图片

如上图所示,我们要做的参数化构建就是为了方便使用真,无需打开工程,根据自己的需要,实现构建环境,构建版本可视化操作..

思路: 通过脚本构建 ipa, 拿到 Project_URL 的值, 然后确定打哪个环境的包.获取 Ipa_Verson的值,更改版本号.

完成这样的需求有两点需要突破.

一.因为我们在测试 app 时, 各种环境都需要 ipa, 仅仅 Debug 和 Release 两个环境已经不满足我们的构建需求, 这时我们就需要再创建几个环境变量.通过宏定义的方式,进行选择.

二.我们需要在外部更改 ipa的版本号, 那么我们必须要使用脚本, 那么这个脚本是放在 Xcode 内部,还是放在外部,我们需要实验.

解决第一个问题


创建新的测试环境:

jenkins 参数化构建_第2张图片

1.点击 configurations 下面的加号,选择增加一个 Debug 的测试环境.

jenkins 参数化构建_第3张图片

2.在 Build settings 找到 apple LLVM 7.0 -Preprocessing  --->Preprocessor Macros  给新建的 Debug_test 添加一个宏定义

3.通过

         # ifdef 

                   http://*************

         #elif

                    http://*************

         #else

                     http://*************

         #endif

选择构建环境

解决第二个问题


在解决第二个问题时,我首先想到的事在我的外部脚本文件中写入 buildBundle 的数字, 但是这样做出来后有一个问题就是无法安装成功 ipa 文件, 因为在外部脚本中更改,就相当于在打包完成以后强行更改他的 infor 文件.所以这样做事完全行不通的..

所以我就想,怎么在编译的时候把buildBundle的数值进行更改呢.天无绝人之路, Xcode 本事就有这样的配置功能.


jenkins 参数化构建_第4张图片

Run script 就是专门运行内部脚本的窗口.更改数据的脚本代码添加进去,就可以完美解决.

你可能感兴趣的:(jenkins 参数化构建)