本文主要描述如何在CentOS 6.4上使用Jenkins进行Android集成打包。同时介绍一些常见问题解决方法,不是十分全面,会在后面使用过程中更新。
全文大体分为以下几个部分:
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
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
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
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
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)
这种消息,就需要去安装这种库来支持构建。解决方法看:解决方法