前言
之前的文章我们详细讲述了,如何简单快速地使用Jenkins进行自动化构建。这次我们来聊聊使用的过程中,需要学会的更高级的技巧。
我们使用Jenkins构建的过程中,肯定会遇到这样的问题:云端的项目有多个版本,如何指定需要构建哪个版本呢?第一想法是尝试新建多个Jenkins项目,这确实也能解决问题,但不够优雅。我们可以使用参数化构建,优雅的解决这个问题。
1、示例
首先看一下最终的效果。Jenkins构建的启动按钮,由之前的立即构建
,变成了参数化构建
(Build with Parameters),并且新增了两个自定义选项:branch
和platform
。branch
可以自由选择需要构建哪个分支,而platform
则可以自由选择提交到Fir
还是AppStore
。
2、添加参数
现在展示如何添加这两个参数。
2.1、点击“参数化构建过程”
2.2、添加“Git参数”
点击“添加参数”、“Git参数”。参数名称我定义为branch
,接着完善branch
参数相关的内容。
2.3、添加“选项参数”
选项参数的表示形式就是一个菜单,菜单的内容可以自定义。我这里设置成Fir
和AppStore
。
三个步骤下来,参数定义就完成了。
3、使用参数
参数定义好后,该如何使用呢?
3.1、branch参数的使用
我们刚才定义了一个branch
参数,那么在指定构建的分支时,可以这样填写:
之后我们在菜单中选择分支,选中的信息就对应着这个branch
。
3.2、platform参数的使用
同样的,我们也定义了platform
参数,我们在判断需要上传到哪个平台时(Fir或者AppStore),可以这样填写:
if [ ${platform} == "Fir" ] # 上传到fir
then
#!/bin/bash --login
fir publish "$WORKSPACE/Export/Fir/*****.ipa" -T "61a07dbfe4a4dc8*****7e57b71e7c93"
else if [ ${platform} == "AppStore" ] # 上传到AppStore
then
xcrun altool --validate-app -f "$WORKSPACE/Export/AppStore/*****.ipa" -u *****@gmail.com -p "mhwt-nlzo-****-lokb" -t ios
xcrun altool --upload-app -f "$WORKSPACE/Export/AppStore/*****.ipa" -u *****@gmail.com -p "mhwt-nlzo-****-lokb" -t ios
fi
复制代码
4、总结
通过使用参数化构建,单个项目能做的事情是不是更多了?完全避免了一份代码需要创建多个Jenkins项目的情况。
如果你对刚才讲述的一些基础操作不太了解,可以先移步到之前的文章学习如何简单快速地使用Jenkins进行自动化构建。