Windows环境下jenkins +svn+android studio自动化构建(持续集成,打包)

来源:互联网 发布:最小公倍数怎么求c语言 编辑:程序博客网 时间:2024/05/21 09:40

之前打包都是RD通过Android studio或者Eclipse /adt手动打包生成apk给QA测试,现在技术总监要求对项目进行持续集成,也就是说通过某种方式定时(比如每天凌晨三点)自动将SVN库中最新的代码down下来编译打包,QA也可以通过Jenkins手动构建最新的代码打包,不用每次都由RD手动打包生成apk黑QA,而且多渠道打包又很繁琐.

软件环境:

1、 windows7 64bit;

2、 jdk1.8

3、 android sdk

4、 gradle2.10

首先得配置环境变量,JDK,Android SDK,Gradle 就不用说了,Android开发应该都配好了,配置tomcat,直接去官网下载tomcat,解压下载好的tomcat,

复制路径配置环境变量,新建环境变量:

变量名:CATALINA_HOME

变量值:解压后的路径


找到path加上;%CATALINA_HOME%\lib启动tomcat,ok了


接下来就是安装Jenkins了.官网下载jenkins


点击Download Jenkins,我下载的是2.23版本.


解压该文件后


点击安装OK了.安装完成后会自动跳转到localhost:8080下.ok静静地等待网页加载,时间可能会久一点,耐心的等待.

加载完成后会提示选择安装插件,第一个是默认推荐的插件,第二个是自己选择要安装的插件,插件安装完后创建用户和用户名

完事后登陆.



点击系统管理


接下来的就是下载我们需要的插件了


选择我们需要的插件Android Lint Plugin,Gradle Plugin,svn需要的插件在安装的时候推荐安装里面已经安装好了

安装好了后进入到系统管理->系统设置,修改系统设置


    Jenkins Location标签中

      系统管理员邮件地址:admin@163.com

    Extended E-mail Notification标签中

      SMTP server : smtp.163.com 

      Default user E-mail suffix :admin@163.com

      Default Content Type :Plain Text(text/plain)

      Default Recipients :receiver1@163.com,receiver2@163.x,...,receivern@163.com

      Reply To List : admin@163.com

      Default Subject :构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

      Default Content :

        (本邮件是程序自动下发的,请勿回复!)<br/>

        项目名称:$PROJECT_NAME<br/>

        构建编号:$BUILD_NUMBER<br/>

        svn版本号:${SVN_REVISION}<br/>

        构建状态:$BUILD_STATUS<br/>

        触发原因:${CAUSE}<br/>

        构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/>

        构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/>

        变更集:${JELLY_SCRIPT,template="html"}<br/>

    邮件通知标签中

      SMTP服务器:smtp.163.com

      用户名:admin

      密码:123456

      SMTP端口:选中SSL填465,没选中填25

      Reply-To Address:admin@163.com

      字符集:UTF-8


设置完成后就可以新建项目了


点击ok


项目使用的是svn,如果项目使用git的话,需要下载git插件.其中源码管理是一样的.


注:svn仓库地址如果需要账号密码登录,直接点击add添加


构建触发器


下一步构建:


由于项目使用的是studio,所以选择了gradle script:


也可以选择Invoke gradle,系统环境变量里配置了gradle环境变量,选择相应的gradle版本.

使用Jenkins编译AndroidStudio工程进行简单地持续集成的时候,有些配置要注意。

  1. 新建Job的时候选择使用GradleWrapper而不是单纯的Gradle。AndroidStudio编译的时候,使用的GradleWrapper,因此需要这个。具体的GradleWrapper的位置在gradlew.bat这个批处理文件中配置。因此如果编译过程出现GradleWrapperMain找不到的时候,可以尝试对这个批处理文件进行调试,查看信息。
  2. AndroidStudio项目的local.properties中有一个sdk.dir属性,用于声明sdk的地址。这个地址一般是开发机器的环境配置有关。因此Jenkins所在的机器配置可能会不一致造成sdk找不到这个错误。因此提交SVN的时候建议修改这个属性值为Jenkins所在机器的配置参数。一个相对合适的方法是删除这个属性,然后提交,在Jenkins所在的机器配置ANDROID_HOME这个环境变量,为SDK的地址。这样编译的时候会从ANDROID_HOME这个环境变量地址去找SDK。
  3. 建议Jenkins所在机器尽可能包括最新的SDK,同时开发环境也更新到最新SDK,这样编译的时候就不会出现对应API版本的SDK不存在的问题。也不需要提交的时候修改API版本了。
最后是构建后操作,选择Publish Android Lint result,Archive the artifacts,E-mail Notification插件


ok,点击保存,构建项目


构建中...



ok,构建成功

查看项目


渠道包已经打好,点击对应的apk,QA就可以下载安装了.

PS:本人也是小白.第一次搞这个,踩了几天的坑.后续会持续更新此贴.

3 0
原创粉丝点击