Android Jenkins 平台搭建及初步使用教程

一、jenkins介绍
目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它能做的事情有如下几条

软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。
构建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力。
构建可持续的自动化测试 :构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。
构建后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。
部署一个CI系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。

二、目标
本次搭建jenkins的目标是:

搭建jenkins,实现Android项目自动化打包构建
实现参数化构建,指定可选的打包方式、打包环境等
打包完成后自动将apk发送到ftp服务器上,供保存和下载
三、环境搭建
本次jenkins平台搭建依赖环境有:SVN + Gradle

操作系统: mac OS / windows (两个平台都搭建了一遍,大同小异)

1、下载jenkins
选择合适的jenkins版本很重要。刚开始为了稳定,选择了低版本的jenkins 2.26。但是发现有几个坑,首先是服务器使用的是JBOSS,JDK采用1.7版本,自动部署war包时提示JDK版本不对,推断是JDK版本有点低,因为我本地window配置采用jdk 1.8可以正确安装。其次是低版本的jenkins很多插件都不能安装,比如ftp插件等。所以最终我还是选择了最新的jenkins进行安装。
下载地址:http://updates.jenkins-ci.org/download/war/

2、安装
安装jenkins有两种方式,第一种是直接起服务,window启动方式是java -jar jenkins.jar, mac 采用brew进行下载,直接输入jenkins启动。采用这种启动方式启动后,可以在浏览器中输入localhost:8080进行访问。优点是简单,缺点是如果此台电脑另提供其他服务时,不方便端口、地址等的管理。由于之前JBOSS服务器不能随意更换JDK,所以找了一台闲置mac采用jenkins服务器,因此采用直接起服务的方式安装。
第二种就是通过tomcat、JBOSS等配置启动jenkins。这种方式与第一种类似,只要部署好就没问题,具体部署流程请百度。

3、插件
安装好jenkins后进入localhost:8080地址访问,注册本地管理员账号后,会自动下载一些插件。如果不能因为内网原因不能下载插件,那就只能从其他电脑下载好插件,然后传到服务器进行安装。window下载好的插件保存目录:C:\Users\用户名.jenkins\plugins
进入jenkins主界面后,可以看到左列有一系列选项,如下图:新建(创建新任务),用户(用户管理),系统管理(这里进行全局环境配置、插件管理等),My VIew(任务列表)。
这里写图片描述

首先进行系统设置、全局工具配置和插件安装,点击 系统管理,可以看到下图所示:

这里写图片描述

在这里必须先进行插件安装,因为装了插件,才会有相关配置展示。这里先点击管理插件,选择可选插件并搜索插件进行安装。安装过程中可能会出现安装失败的场景。出去网络原因,还有就是插件间存在互相依赖的关系,如果安装顺序不对会安装失败,具体失败原因jenkins提示的很清楚,看log安装就可以。必须安装的插件有:

FTP publisher plugin FTP服务插件
Subversion Plugin svn插件
Gradle Plugin gradle 插件
Dynamic Parameter Plug-in 动态参数化构建插件

安装好这几个插件后,可能还需要装一些其他插件的功能,请自行结合百度其他文章。然后进行系统设置,如下图所示,配置AndroidSDK目录和FTP地址及账号密码
这里写图片描述这里写图片描述
然后进行全局工具配置,将JDK和Gradle环境目录配置好,这样,基本环境就搭建完成了。

这里写图片描述

4.任务配置
新建一个自由风格的任务,根据提示输入基本的项目名称等信息。接下来进行重要的参数配置:

参数化构建
选择General中的参数化构建过程->添加参数。其中:

Choice Parameter : 可选参数,类似于checkbox框,Name随便起,Choices中填可选参数,多个参数换行分割。这里我添加了两个Choice Parameter,一个选择打包方式,一个选择打包环境。
Dynamic Parameter:动态参数,这里我用来提供时间参数,Default value Script种填入时间代码:return new Date().format(‘yyyy-MM-dd-HH-mm’)
String Parameter:字符串参数,完全打包用户填写。这里我记录版本号,名字随便起。
如下图所示:
这里写图片描述
源码管理
这里配置源码库以及权限,如下图所示:
这里写图片描述
构建
项目构建采用gradle进行构建,构建版本采用全局工具配置时配置的gradle工具。其中,gradle打包命令在Tasks中填写,如图:clean assemble Favor {Build_Type}。多命令空格分隔,调用前面参数化配置时所选的参数采用${}方式。
这里写图片描述
构建后操作
构建后需要将打包好的APK存放到FTP服务器上面,这里采用之前装好的FTP publisher plugin插件。其中,Source files代表要上传的文件或文件夹目录;Remove prefix代表要删除的文件夹目录;Remote directory代表要保存为的文件夹目录。其中参数也可以采用${}的方式调用之前参数化构建传入的参数。
这里写图片描述
喝咖啡
至此,进行参数化构建,就可以等待jenkins自动打包的结果了。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值