简介

Why?在服务器上部署好android需要的编译环境,使打包脱离开发人员和依赖个人电脑导致的出错率,规范打包流程,方便测试人员及运营人员随时打包,不打断开发人员的开发进度。

本次以windows环境搭建为例讲解。其他环境的Jenkins配置基本类似。

需要安装的环境

jenkins、jdk、AndroidSDK、Gradle、git

Jenkins安装

Jenkins官网下载安装包,2中方式安装:

图上所示,Long-term Support (LTS)和Weekly,其实就是相当于Release和Snapshot类似的区别,一个是稳定版本,一个频繁更新的版本。

android持续集成自动化打包 android自动化打包工具_自动化打包

  1. 下载Windows版本,一直无脑安装即可
  2. 下载.war文件,需要另外下载Tomcat去部署,Tomcat下载,下载后把.war包放在 tomcat 的 webapps 目录下,启动Tomcat。

初始化配置

浏览器中访问 : http://localhost:8080/ ,启动后安装插件

android持续集成自动化打包 android自动化打包工具_自动化打包_02

之后,按照提示路径获取密码输入

android持续集成自动化打包 android自动化打包工具_android持续集成自动化打包_03

之,到用户名设置界面。这个界面你有两个选择可以操作
- 直接点击 Continue as Admin 安装,默认此时的超级管理员为 admin .
- 输入用户名,密码,确认密码,全名,电子邮件地址。然后点击 Save and Finish .

创建项目job

android持续集成自动化打包 android自动化打包工具_android_04


新建->创建一个新任务->输入ItemName->构建自由风格的项目->Ok

android持续集成自动化打包 android自动化打包工具_fir-im_05

配置项目仓库(git)

上步骤之后会进入到(是对项目的配置),我们先配置项目地址:

android持续集成自动化打包 android自动化打包工具_android持续集成自动化打包_06

android持续集成自动化打包 android自动化打包工具_fir-im_07

打开刚刚创建的项目,选择源码管理,以Git的方式管理
- 以Http形式引入,输入项目的http地址,用户名、密码(测试我们的项目以这种方式无效,而自己的github public项目可行)
- SSH 方式。 输入SSH的项目地址,add本机生成的SSH的ids即可

android持续集成自动化打包 android自动化打包工具_fir-im_08

Jenkins的全局配置

android持续集成自动化打包 android自动化打包工具_android持续集成自动化打包_09


1. Global Tool Configuration

- JDK 
- Git
- Gradle

android持续集成自动化打包 android自动化打包工具_android持续集成自动化打包_10

注:如果是要在服务器上部署,需要和运维人员配合,把这些路径配置到服务器上的地址。

2. 系统设置 – 全局属性

android持续集成自动化打包 android自动化打包工具_fir-im_11


Android SDK

在 Environment variables里面增加一个键值对.
    键:ANDROID_HOME
    值:SDK 路径

android持续集成自动化打包 android自动化打包工具_jenkins_12


3.邮件配置

需要配置SMTP邮件,我们内部用的是FOXMail,其中的一些参数,在账户管理下:

android持续集成自动化打包 android自动化打包工具_jenkins_13

android持续集成自动化打包 android自动化打包工具_android_14

android持续集成自动化打包 android自动化打包工具_fir-im_15

android持续集成自动化打包 android自动化打包工具_android_16

项目配置

1. 构建参数

android持续集成自动化打包 android自动化打包工具_jenkins_17

引用需要${API_TYPE}。这配置API_TYPE其实就是build.gradle里面配置的productFlavors,用于判断环境地址的,大家各自项目不同,可以自行动态配置参数。

2. 构建任务

先配置好Gradle script,就是在Tools配置好的Gradle的路径,直接下拉选择好版本就可以了。

Tasks:就是平时大家打包的命令,正好上述的${API_TYPE}是配置好的参数,这里动态引用。

android持续集成自动化打包 android自动化打包工具_jenkins_18

3. 构建后操作

上传至Fir.im和自动邮件通知。

android持续集成自动化打包 android自动化打包工具_jenkins_19

android持续集成自动化打包 android自动化打包工具_android持续集成自动化打包_20

这里邮件的内容,可以引用之前全局配置的内容($PROJECT_DEFAULT_CONTENT),之后再增加独立的内容。

最后到项目下,去执行Build操作!!!

android持续集成自动化打包 android自动化打包工具_jenkins_21