基于CentOS 6.4 使用Jenkins 进行Android集成打包

基于CentOS 6.4 使用Jenkins 进行Android集成打包

本文主要描述如何在CentOS 6.4上使用Jenkins进行Android集成打包。同时介绍一些常见问题解决方法,不是十分全面,会在后面使用过程中更新。
全文大体分为以下几个部分:

  • Java 8的安装和环境变量配置
  • Android SDK的安装和环境变量配置
  • Gradle 的安装和环境变量配置
  • Jenkins的安装和部署
  • Android自动打包任务配置
  • 填坑之旅

Java 8的安装和环境变量配置

Java8的安装可以有多种方式:比如在官网上下载后到服务器上去解压安装配置,也可以通过yum工具进行自动下载安装。

1、官网下载安装

官网下载Java8的jdk 官网下载地址,如图下图,选择对应服务器版本下载
这里写图片描述
将安装包上传到服务器,mac 使用scp命令即可,也可以使用FileZilla上传
命令格式为:

scp 需要上传的文件路径  root@服务器地址:/usr/java

解压缩:

tar xvf jdk-8u102-linux-x64.tar.gz

配置环境变量,将以下脚本添加到/etc/profile文件的末尾,使用vim命令进行编辑

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后刷新文件:

source /etc/profile

执行java -version,结果显示已安装成功

[root@gittechsun java]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

2、使用yum jdk1.8 安装

# 列出所有安装包
yum -y list java* 
#列内容
java-1.8.0-openjdk.x86_64 
# 安装命令
yum -y install java-1.8.0-openjdk.x86_64

Android SDK的安装和环境变量配置

1、下载android sdk linux版本
2、上传到服务器,解压到/opt/app,然后配置环境变量/etc/profile
增加

export ANDROID_HOME=/opt/appl/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$PATH

更新文件

source /etc/profile

3、安装所有包

android update sdk -no-ui

或者查看序列号,根据序列号安装某几个版本的包
查看序列号

android list sdk -all

按序列号安装

android update sdk -u --all --filter 1,2,3

Gradle 的安装和环境变量配置

1、官网下载Gradle 官网下载地址
2、上传到服务器,解压到/opt/app,然后配置环境变量 /etc/profile
增加

export GRADLE_HOME=/opt/app/gradle-4.10
export PATH=$GRADLE_HOME/bin:$PATH

更新文件

source /etc/profile

查看版本,正常显示版本就说明成功了

gradle -version

Jenkins的安装和部署

1、从官网下载Jenkins安装包官网下载地址
2、将安装包上传到服务器,进入服务器上传目录,执行安装命令,命令格式如下:

rpm -ih jenkins-****.noarch.rpm

如果安装成功会提示:

warning: jenkins-2.73.1-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature,key ID 82e6: NOKEY 
########################################### [100%]
########################################### [100%]

3、安装后的文件目录如下:

/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件

4、

启动 service jenkins start 成功提示 Starting Jenkins [ OK ]
重启 service jenkins restart
关闭 service jenkins stop

5、网页访问如下地址:

服务器IP地址:8080(默认8080,如需要更改见后面详细介绍)
初次访问密码可从如下命令获得:
vim /var/lib/jenkins/secrets/initialAdminPassword
然后可设置一个账户密码,也可以直接用admin

6、更改端口号
jenkins的war包存放在/usr/lib/jenkins目录下,配置文件jenkins存在/etc/sysconfig,编辑打开该文件,修改如下位置

## Type:        integer(0:65535)
## Default:     8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8082"

保存后更新文件即可,执行重新启动命令即可

service jenkins restart

Android自动打包任务配置

1、首次进入jenkins,会提醒你安装插件,就安装推荐的即可。进入主页面后需要在系统管理中找到管理插件选项,确认以下三个插件是否安装完成。

Git Plugin
Gradle Plugin
Android Lint Plugin

如下图:
管理插件
安装更新插件
2、配置环境变量
配置Android SDK路径
系统设置
这里写图片描述
配置JDK路径
这里写图片描述
这里写图片描述
配置Gradle的路径
这里写图片描述
3、新建一个自由风格的软件项目
这里写图片描述
4、接下来给这个job配置参数,根据需要选择choice 或者String参数
这里写图片描述
填入参数
这里写图片描述
这里写图片描述

注意:VERSION参数同时也需要在你的项目里使用同样的参数,这样才可以在构建时手动输入版本号设置生效。
这里写图片描述
5、配置svn源码地址
这里写图片描述
6、构建配置
这里写图片描述
7、构建工程
这里写图片描述

这里很多配置还没有具体用到,可以搜索相关教程了解

填坑之旅

在安装和使用过程中,我自己出现了如下问题
1、service jenkins start 提示出错

Starting Jenkins bash: /usr/bin/java: No such file or directory

解决方法:
找到/etc/init.d/jenkins文件,编辑,在变量candidates后面添加一个java8的路径如:/usr/java/jdk1.8.0_102/bin/java,由于这个路径是从上往下遍历,需要加在所有路径的上面,如下:
这里写图片描述
将java8 的路径写进去并放在第一行,其他的可以用#注释掉
如果还不行,注意下安装的jdk与Jenkins默认jdk路径是否一致,命令如下:

[root@xyz opt]# echo $JAVA_HOME
/opt/jdk
[root@xyz opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/opt/jdk/bin:/opt/grails/bin
[root@xyz opt]# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
[root@xyz opt]# which java
/opt/jdk/bin/java

如果不一致,需要通过命令进行执行:

ln -s /opt/jdk/bin/java /usr/bin/java

2、service jenkins start 提示一下内容:

Starting Jenkins Jenkins requires Java8 or later, but you are running 1.7.0_99-mockbuild_2016_05_11_05_30-b00 from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.99.x86_64/jre java.lang.UnsupportedClassVersionError: 51.0 at Main.main(Main.java:124) [ OK ]

说明jenkins缺少jdk1.8, 需要安装jdk1.8
3、构建时,控制台日志抛出
这里写图片描述
这里写图片描述

最好查一下android sdk中 build-tools 某个版本中appt2 在操作系统中少了某些库支持
ldd build-tools/{version}/aapt2

如果看到类似:

/lib64/libc.so.6: version `GLIBC_2.14’ not found (required by ./aapt2)

这种消息,就需要去安装这种库来支持构建。解决方法看:解决方法

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值