Android-jenkins搭建指南&踩坑过程

本文详细介绍了如何在CentOS 6.3系统中搭建Jenkins自动化打包环境,包括安装JDK、配置Android SDK、设置环境变量、安装Jenkins并配置插件,以及解决gradle打包时遇到的glibc版本问题。通过此指南,读者能够成功建立一个用于Android应用自动打包的Jenkins服务器。
摘要由CSDN通过智能技术生成

                                                                                                                                                                                                     以MEET 搭建jenkins编包环境为例,详细介绍搭建流程及踩坑经历。目前jenkins编包依赖JDK环境,gradle打包依赖于android-sdk,所以先搭建基础支持。

       本文所用的linux 环境为:(命令:lsb_release -a)

       lsb_release –a: 查看Linux系统版本

      Description:    CentOS release 6.3 (Final)

      uname –a : 查看内核版本

       Linux *** 3.10.0_3-0-0-15 #1 SMP Fri Jan12 18:18:11 CST 2018 x86_64 GNU/Linux

       ssh交互端:      SecureCRT

一.JDK

手动上传JDK安装包,并设置环境变量

1.    JDK安装包获取方式:本地下载,sz 上传(java 1.8的版本),下载地址如下:(http://www.oracle.com/technetwork/java/javase/downloads/index.html)

2.    解压到指定文件夹

3.    针对所有用户,可在/etc/profile新增环境变量如下

JAVA_HOME=**/jdk1.8.0_171  (这里请替换成你的完整路径)

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$PATH

JRE_HOME=$JAVA_HOME/jre

exportJAVA_HOME CLASSPATH PATH

如果仅在自己的用户下面添加,以work账户为例,在/home/work/.bash_profile,按照如上添加就好。

4.    source/etc/profile (或者 source /home/work/.bash_profile)使环境变量生效 

5.    java–verison 验证是否安装成功

二.Android-sdk

手动上传android-sdk包,或线上直接下载,并设置环境变量

1.    Android-sdk安装包获取方式

a)    本地下载,sz上传(同Java)

b)    命令获取

wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

安装包解压后需要下载platforms, build-tools 。 此时同样可使用命令下载及更新,在andriod安装目录找到tools,使用android 或sdkmanager命令来进行更新。

获取服务器上最新的android sdk:android list sdk

列出所有的sdk : android list sdk --all

更新sdk命令:android update sdk (该命令是更新所有的可用的,可使用—filter 更新部分sdk)。 具体例子如:android update sdk --no-ui  --filter 1,2 –-all。 其中1,2指的是 list sdk后的编号。

如果直接无法获取到,可以通过使用国内的android 镜像,国内的Android代理镜像服务器:

http://mirrors.neusoft.edu.cn 端口:80

http://ubuntu.buct.edu.cn/端口:80

http://ubuntu.buct.cn/端口:80

http://sdk.gdgshanghai.com端口:8000

IPv6:http://ubuntu.buct6.edu.cn/ 端口:80

使用指定代理更新的方式如下:

android update sdk --no-ui --filter 1 --proxy-hostubuntu.buct.edu.cn --proxy-port 80 -s –all

sdkmanager更新方式具体请自行查询。

2) 配置环境变量,同样可配置在/etc/profile中,或者自己工作账户目录的配置文件下,如/home/work/.bash_profile,配置如下:

exportANDROID_HOME=**/android-sdk-linux (请替换成具体的目录)

exportPATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/25.0.0:$PATH

三.Jenkins

Jenkins目前支持两种安装方式,一种是使用yum 直接安装,一种是结合tomcat 进行安装。本文使用的是tomcat 的方式,因此,简略的介绍通过yum 安装

1) yum 安装

a)    添加jenkins源

sudowget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo

b)    rpm增加jenkins的key

sudo rpm--import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

c)     安装jenkins

yum install jenkins

d)    使用命令启动jenkins

sudo service jenkinsstart

在浏览器中输入:http://<服务器ip>:port/ 就可以进入Jenkins界面直接使用了 。其中port为tomcat服务使用的端口,可自定义。

e)    停止Jenkins服务的命令为:

sudo service jenkins stop

f)     Jenkins相关目录介绍

安装目录:/var/lib/jenkins/

配置文件目录:    /etc/sysconfig/jenkins

日志目录:/var/log/Jenkins

可以在配置文件中修改jenkins主目录(JENKINS_HOME),jenkins用户(JENKINS_USER),jenkins端口(JENKINS_PORT)等

2) tomcat 安装

a)    下载jenkins.war包, 下载地址:https://jenkins.io/download/


b)    下载apache-tomcat 并解压至指定目录,确保tomcat正常启动,可以修改tomcat服务端口号

c)     移动jenkins.war 至 **/apache-tomcat-9.0.2/webapps

d)    浏览器输入http://<服务器ip>:port/jenkins/ , 进入jenkins配置页面

e)    首先进入会提示输入初始密码,直接复制指定路径的初始密码即可


f)     输入完成后,会进入插件下载页面,如果进入正常,则根据需求选择添加插件的类型,如果不正常,可能出现如下图所示:

可通过以下方式解决(首先请确保linux 机器可有网络

浏览器另起一个tab输入:

http:// <服务器ip>:port/jenkins/ pluginManager/advanced

将升级站点的url替换为上图所示,查看该页顶部

可选插件处是否有插件列表,如果依旧为空,则可将url 替换为:

http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

再次查看,勾选相应的插件进行下载,因为我们采用git来管理工程,所以git相关的插件一定要下载下来。

g)    安装成功后,创建账户,并进入首页

h)    构建自己的第一个工程,并进行配置,需配置工程名,源码获取方式,构建方式等。

工程拉取下来存储在用户根目录的.jenkins/workspace下面。

四.Gradle打包

服务器采用gradlew命令行编包,或者jenkins的gradle插件进行打包,其均需要在jenkins工程的配置页面进行配置。

本文采用的是gradlew命令行打包。Gradlew是包装器,自动下载包装器里定义好的gradle 版本,保证编译环境统一,gradle 是用本地的gradle版本。如果服务器上工程很多,每一个工程要求的gradle版本都不一致时,建议使用gradlew命令。

本文使用的命令如下图所示:

其中flavor 和 buildtype是自己增加的变量,对应的是工程内部build.gradle中不同的取值,具体需按照工程要求配置。-P后面跟的是我们在build.gradle中设置的可变参数,同需要根据自己的需要更改。

       由于我们工程采用的buidToolsVersion和targetVersion都是25,编译过程中会提示

即使用aapt编译资源文件时,会出现,提示我们25的aapt需要glibc_2.14的支持。

       查看linux机器支持的glibc版本:

      

发现只安装到2.12,查看libc.so.6链接到的glibc版本为libc-2.12.so


所以需要升级linux系统的glibc版本。(升级有风险,操作需谨慎)

升级步骤如下(一定放在root用户下进行,首先请进入你需要放置安装包的路径):

1. wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz    #下载glibc 2.14

2. wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz  #下载glibc-ports-2.14

3. tar -xvf glibc-2.14.tar.gz

4. tar -xvf glibc-ports-2.14.tar.gz

5. mv glibc-ports-2.14 glibc-2.14/ports

6. mkdir glibc-build-2.14   # 在当前目录新建build 文件夹

7. cd glibc-build-2.14/     # 进入到该build文件夹

8.  ../glibc-2.14/configure  --prefix=/usr #设置其安装目录

9. make –j4  #以4核进行编译

10. make install  #安装

11.  ll /lib64/libc.so.6   #检查更新

最终显示的应该为:

以上8,9,10任何一步出错,都可能会导致失败。第8,9步一定不能有失败提示,第10步有失败提示的时候,可以先进性11步的检查,如果失败的话,建议多尝试几次。

       安装好glibc_2.14后,gradle可正常进行。

五.取包

由于我们的jenkins是安装在tomcat上的,所以可以直接在tomcat配置中中增加context的静态目录配置,以获取安装包。具体操作为,进入tomcat的conf目录,打开server.xml,在host标签下增加如下context配置。


其中docBase即我们的安装包放置的绝对路径。此时便可通过http://<服务器ip>:port/ 访问该路径下的内容。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值