本文首先阐述如何在Window环境下,如何通过Tomact搭建本地Jenkins实现参数打包。如何在CenterOS上搭建Jenkins会在后续文章中叙述。
一、Jenkins环境搭建
1、准备一个Tomcat安装在您的电脑上,版本不要太低6.0以上;
2、下载最新版本的Jenkins的war包,下图用红色框出,下载地址:https://jenkins.io/download/
Jenkins下载列表3、将下载的.war包放入Tomcat安装目录下webapps的目录;
4、启动Tomcat,在Window 命令行终端cd到Tomcat安装目录下的bin目录,然后输入startup.bat启动;
5、在浏览器地址栏输入:http://localhost:8080/jenkins/,如下图找到对应的初始密码,默认是在C盘目录下:C:\Users\xiaji\.jenkins\secrets\initialAdminPassword的文件路径,该路径是我电脑上,仅供参考;
Jenkins首次登录,初始密码6、安装Jenkins的插件,如下图,我选择插件来安装,只要找到Gradle和Git(如果你是SVN,不用我说了吧),勾选后安装,相关的依赖插件会自动安装;
Jenkins首次登录,安装插件7、然后会让你创建管理员账号,选择继续使用admin就行(想创建也随你开心就好),然后配置路径,跳过也行(随你开心就好)
以上Jenkins下载、安装已就绪,开始下一步的配置。
PS:如果上述安装插件的地方,你没有安装需要的Gradle和Git插件,你也可以进入Jenkins的菜单栏选择【系统管理】-【插件管理】-【可选插件】,然后去找对应需要的插件安装。但建议一开始就安装插件,因为会自动下载相关联的依赖插件,否则需要自己手动搜索一下所有插件。
插件图1 插件图2二、Jenkins环境配置
为了能编译生成Andorid的Apk包,主要需要配置以下几个方面:
1、全局工具配置,包括:JDK配置、Git配置、Gradle配置,下图按照顺序配置:
全局工具配置 JDK、Git、Gradle环境配置2、系统设置,包括:Android SDK路径配置
系统设置进入系统设置,找到Global properties属性,勾选环境变量,配置SDK路径
Android SDK环境变量配置到目前为止,Jenkins的配置已就绪,待下一步构建Android项目,配置项目及参数。
三、构建需要编译的Android项目
1、回到Jenkins首页,点击菜单栏:New任务
新建任务创建任务名称,选择自由风格,点击OK
创建任务2、构建任务的General项设置,包括:丢弃旧的构建、参数化构建过程
丢弃旧的构建备注:参数化构建单独讲述,该步暂时略过
3、Source Code Management源码管理,选择Git,填入Git的URL地址
源码管理没有认证的时候,上面会报错,点击上图中圈出的 “Add”,弹出下图:
添加凭证添加凭证后,下拉选择对应凭证,如果Git账号正确,就不会再报错。同时下方默认是master分支,可以自己看情况填写需要构建哪个分支,分支名称一定要和Git上的一样。
4、切换到Build构建,Build Triggers构建触发器暂时不用设置,下拉选择Invoke Gradle script
选择构建脚本然后如下图,选择Invoke Gradle,下拉Gradle Version的版本(这个就是之前在全局工具设置中,配置的Gradle),接着在Tasks目录下输入:app:clean、app:assembleRelease,这个表示的意思是先clean再build。最后我们点击左下角的Apply按钮,保存所有的设置。
PS:截图中app:assembleRelease还配置了参数,这个是后面要讲的参数化配置才需要这么填写的,到目前为止不设置参数也行。
Build构建界面四、编译构建的任务
1、上面我们已经构建好一个任务,回到任务列表界面,点击任务名称,进入任务界面。如下图:
任务列表界面 任务界面2、点击上图“任务界面”标识出的Build with Parameters进行编译,如果Build成功,编译队列中成蓝色圆,否则编译队列中成红色圆,如上图标识的#17,#15
五、参数化构建
1、构建编译时,可以选择参数编译出不同参数的包,比如:版本名、版本号等等。我们回到任务的Configure界面,如下图:
任务界面 新增参数界面如上图,进入Configure界面后,选择Tab General项,勾选“参数化构建过程”,点击“Add Parameter”,这里我给出版本名、Build类型两个作为参数,一个是字符参数、一个是选项参数。“Name”可以随便取,字符参数“Default Value”随便写,选项参数“Choices”填写你要的选项,这里Build类型设置为:debug和release版本。
参数设置界面上面两个参数设置完后,Tab切换到Build,点击下图中“Advanced”按钮
构建Build界面点击“Advanced”展开后,勾选“Pass all parameters as Project properties”选项,如下图:
Build构建高级选项勾选后,表示将上面配置的版本名、Build类型两个参数映射到代码中。以上Jenkins的参数化构建设置完成。我们还需要在Android项目中,接收该参数。参数会映射到gradle.properties文件中对应的参数名(参数名要和Jenkins上命名一致)。
2、通过Android Stuido打开本地的Android项目,找到gradle.properties文件,配置两个参数
gradle.properties文件 build.gradle文件然后在build.gradle文件中,如上图圈出的,versionName的值写为gradle.properties文件中定义的参数APP_VERSION_NAME。(修改完文件后,一定要提交到Git上,因为Jenkins编译的是Git上的分支代码)通过这样将参数一一映射。
3、回到Jenkins任务界面,选择“Build with Parameters”
Build with Parameters然后进入参数填写界面,点击“Build”按钮进行编译打包
填写参数界面至此Android通过Jenkins参数化的配置打包流程就搞定了,希望对大家有帮助。后面会在下一篇文章中介绍将Jenkins部署到CenterOS后,要如何配置Jenkins。大同小异只不过一个是本地Jenkins,一个是服务Jenkins。
网友评论