使用Jenkins进行CI集成化测试和自动化部署-Android自动打包

#使用Jenkins进行CI集成化测试和自动化部署(二)

上一篇文章简单介绍了Jenkins的配置环境,在开发团队中我们一般会使用Jenkins完成几个工作
1 程序员开发代码后自动部署到开发服务器验证流程,查看页面效果
2 QA部门每天对开发部门的代码做静态检查,并对接口进行自动化测试,给出测试报告发给开发组
3 进入集成测试阶段后,开发组转入集中修复Bug阶段,测试组需要构建测试环境和Android测试环境包
4 集成测试阶段完成以后,发布人员需要Jenkins自动打包后将服务器段程序发送到生产服务器等待发布。

##1 安装Android SDK
要让Jenkins能够编译Android那么第一步是Android SDK的下载,由于GFW的存在我们的SDK下载会非常慢,因此我们需要在国内网站找到对应SDK包进行下载。推荐地址:
http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html
下载SDK、SDK Tools、Platform Tools、Platform Package, NDK分解解压到目录后vim /etc/profile设置环境变量:

#set Android enviroment
export ANDROID_HOME=/usr/local/androidsdk
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

##2 更新Android SDK
安装完成后需要更新,进入SDK安装目录的tools目录之后执行

android update sdk --no-ui

确认之后就可以使用命令行进行编译了 gradle clean assemble,如果没有安装gradle那么需要安装gradle并配置gradle环境路径。

##3 找不到libgc.so.1
一般来说服务器安装的都是64位版本但是编译安卓时候需要32位的gcc开发库,所以这个报错一般都是需要安装32位的GCC就可以,CentOS安装方法如下

# yum install glibc*.i686
# yum install zlib*.i686
# yum install libstdc++.i686

4 找不到libgc.so.6或者提示

因为CentOS6 安装的glibc 64位库的版本过低,造成以上报错,那么解决这个问题的方法是重新编译一个新的2.14或者更高的版本,glibc可以从http://ftp.gnu.org/gnu/glibc/找到对应版本,然后我选择2.15

# cd /usr/local
# wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz  
# wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz  
# tar -xvf  glibc-2.15.tar.gz  
# tar -xvf  glibc-ports-2.15.tar.gz  
# mv glibc-ports-2.15 glibc-2.15/ports  
# mkdir glibc-build-2.15   
# cd glibc-build-2.15  
# ../glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin  
# make   
# make install

安装完成后进入glibc-build-2.15目录查看

# strings libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_PRIVATE

5 通过jenkins构建

进入jenkins 新建一个自由风格工程,在源码选择里面选定分支(后期可以使用参数化构建来手动选定分支),然后在构建里选择Execute shell,填入如下代码

# !/bin/sh
# cd ${WORKSPACE}
# pwd
# /usr/local/gradle-3.4.1/bin/gradle assemble

再往后第一个操作就是发布通过发布附件的形式发布进行下载apk或者就是直接发布到蒲公英(需要插件),再然后就是标准的发布Email的模板了,通过定制Email模板发布给指定收件人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android ant 自动打包脚本:自动替换友盟渠道、版本号、包名,而不影响代码(修改的是临时目录的代码)。 如何集成到我的项目里 前提:了解android官方文档,在项目目录执行官方命令能打包,比如常见的打包步骤: android update project -p . -s -t "android-21" ant debug 如果是用Linux系统,则不用记上面这么长的命令,下载本项目的Makefile,放到项目目录,然后执行: make ant debug 如果ant debug打包能通过,则可以使用下面的自动打包。 下载custom_rules.xml,放到项目目录,然后执行: ant auto-debug -Dversion=time 即可自动打包,生成的包在./bin/。 如果想打release包,下载ant.properties,修改其的密码等配置,然后执行: ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta 即可。 打包自动更换友盟渠道 确认AndroidManifest.xml已添加了友盟节点: <meta-data android:name="UMENG_CHANNEL" android:value="debug" /> 然后执行: ant auto-release -DUMENG_CHANNEL=googlePlayStore 即会把AndroidManifest.xml的友盟渠道替换成googlePlayStore,然后打包。而执行: ant auto-release -DUMENG_CHANNEL=smartisanAppStore 即会打出锤子应用商店的包。 打包自动更换包名 ant auto-release -Dpackage=com.example.ant.beta 即会把包名自动改成com.example.ant.beta。 打包使用时间作为版本号 ant auto-debug -Dversion=time 把版本号改成时间,然后打包,效果: versionCode是时间戳,比如1390969254 versionName是日期,比如14.1.29.1220 多个参数任意组合 ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta -Dversion=time 即打出google play的beta包,使用时间作为版本号 debug与release签名 ant auto-debug 即使用debug签名打包(路径~/.android/debug.keystore),请参考http://developer.android.com/tools/publishing/app-signing.html#debugmode ant auto-release 即使用release签名打包,请下载本项目的ant.properties,修改其的路径、密码等等,参考http://developer.android.com/tools/building/building-cmdline.html#ReleaseMode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值