Jenkins 如何指定某个分支进行构建?

·  阅读 1008
Jenkins 如何指定某个分支进行构建?

前言

之前的文章我们详细讲述了,如何简单快速地使用Jenkins进行自动化构建。这次我们来聊聊使用的过程中,需要学会的更高级的技巧。

我们使用Jenkins构建的过程中,肯定会遇到这样的问题:云端的项目有多个版本,如何指定需要构建哪个版本呢?第一想法是尝试新建多个Jenkins项目,这确实也能解决问题,但不够优雅。我们可以使用参数化构建,优雅的解决这个问题。

1、示例

首先看一下最终的效果。Jenkins构建的启动按钮,由之前的立即构建,变成了参数化构建(Build with Parameters),并且新增了两个自定义选项:branchplatformbranch可以自由选择需要构建哪个分支,而platform则可以自由选择提交到Fir还是AppStore

image.png

2、添加参数

现在展示如何添加这两个参数。

2.1、点击“参数化构建过程”

image.png

2.2、添加“Git参数”

点击“添加参数”、“Git参数”。参数名称我定义为branch,接着完善branch参数相关的内容。

image.png

2.3、添加“选项参数”

选项参数的表示形式就是一个菜单,菜单的内容可以自定义。我这里设置成FirAppStore

image.png

三个步骤下来,参数定义就完成了。

3、使用参数

参数定义好后,该如何使用呢?

3.1、branch参数的使用

我们刚才定义了一个branch参数,那么在指定构建的分支时,可以这样填写:

image.png

之后我们在菜单中选择分支,选中的信息就对应着这个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进行自动化构建

分类:
iOS
标签: