使用Jenkins搭建Android打包工具

操作系统安装, 请查看这里

系统中安装相关软件

相关软件都统一安装在/soft目录下, 以root权限执行

mkdir /soft

安装一些工具软件

yum install -y unzip git xulrunner.i686 wget

xulrunner.i686 用于在64位系统上执行Android build tools里的工具软件

JDK 安装与配置

  • 点击这里, 下载jdk-8u121-linux-x64.tar.gz.
  • 将下载到的jdk复制到/soft目录下
  • 解压缩jdk
#cd /soft
#tar -xf jdk-8u121-linux-x64.tar.gz
  • 配置环境变量
echo 'export JAVA_HOME=/soft/jdk1.8.0_121' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
  • 使环境变量生效
. /etc/profile
  • 验证jdk的安装
#java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

出现上述提示, 说明已经安装成功.

Gradle 安装与配置

  • 点击这里 下载Android项目的相应版本的gradle.(假定为gradle-3.4.1)
  • 将下载到的gradle-3.4.1-all.zip 复制到/soft目录下
  • 解压缩gradle-3.4.1-all.zip
#cd /soft
#unzip gradle-3.4.1-bin.zip

验证Gradle 的配置

# /soft/gradle-3.4.1/bin/gradle -v

------------------------------------------------------------
Gradle 3.4.1
------------------------------------------------------------

Build time:   2017-03-03 19:45:41 UTC
Revision:     9eb76efdd3d034dc506c719dac2955efb5ff9a93

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Linux 3.10.0-514.el7.x86_64 amd64

出现上面的提示说明Gradle已经安装完毕.

Android SDK tools安装与配置

  • 点击这里 下载android-sdk_r24.4.1-linux.tgz
  • 将android-sdk_r24.4.1-linux.tgz拷贝到/soft
  • 解压缩android-sdk_r24.4.1-linux.tgz
#cd /soft
#tar -xf android-sdk_r24.4.1-linux.tgz 

配置环境变量

#echo 'export ANDROID_HOME=/soft/android-sdk-linux' >> /etc/profile

根据Android项目的需要下载对应版本的tools, 比如我们app需要的是android-23, build-tools-23.0.2(详情查看主module的build.gradle)

#/soft/android-sdk-linux/tools/android update sdk --no-ui --all --filter build-tools-25.0.0,android-24,extra-android-m2repository

许可协议中输入y, 继续安装

因为没有同意协议, 可能无法build所以

wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip

接压缩后得到tools/目录

将tools目录里的内容复制到/soft/android-sdk-linux/tools下, 主要是要使用它里面的sdkmanager

cd /soft/android-sdk-linux/tools/bin
./sdkmanager --licenses

同意协议继续

Android NDK 安装与配置

gitlab上配置SSH

  • 生成sshkey
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2f:20:81:45:60:b8:49:85:34:63:02:19:0e:a5:e3:3f root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|BX*+o            |
|B=oo             |
|++. .            |
|+.   .           |
| .  . . S        |
|  .  . . .       |
|   E    . .      |
|    .    .       |
|                 |
+-----------------+

将生成的公钥的内容, 添加到gitlab中自己的SSH KEY的配置中.
这样CI服务器就可以从gitlab中下载代码了.

安装配置Tomcat

  • 点击这里下载apache-tomcat-8.0.45
  • 复制apache-tomcat-8.0.45.tar.gz到/soft目录
  • 解压apache-tomcat-8.0.45.tar.gz
tar -xf apache-tomcat-8.0.45.tar.gz

启动Tomcat

# cd apache-tomcat-8.0.45/bin
# ./startup.sh
Using CATALINA_BASE:   /soft/apache-tomcat-8.0.45
Using CATALINA_HOME:   /soft/apache-tomcat-8.0.45
Using CATALINA_TMPDIR: /soft/apache-tomcat-8.0.45/temp
Using JRE_HOME:        /soft/jdk1.8.0_121
Using CLASSPATH:       /soft/apache-tomcat-8.0.45/bin/bootstrap.jar:/soft/apache-tomcat-8.0.45/bin/tomcat-juli.jar
Tomcat started.

在浏览器中输入

http://ci_machine_ip:8080/

如果看到了Tomcat的欢迎页, 则配置正确.

安装配置Jenkins

  • 点击这里下载jenkins.war
  • 将jenkins.war复制到/soft/apache-tomcat-8.0.45/webapps中
  • 重启tomcat
#cd /soft/apache-tomcat-8.0.45/bin
#./shutdown.sh
#./startup.sh

浏览器中输入

http://ci_machine_ip:8080/jenkins

如果出现了要求输入密码的页面, 说明已经配置好了.
按照说明, 输入密码后继续配置

  • 安装推荐的配置
  • 根据提示配置管理员账户
  • 创建一个任务
    1. 填写项目名字(用英文), 这个名字将被作为下载代码的目录
      比如AndroidDev
    2. 构建一个自由风格的软件项目
    3. 点击OK按钮
    4. 源码管理选择git, 输入仓库地址, branch to build 填写要构建的分支
    5. 构建 -> 增加构建步骤 -> Execute shell
      输入/soft/buildAndroidDev.sh
    6. 点击左下角保存
    7. 编写构建脚本vi /soft/buildAndroidDev.sh
    #!/bin/bash
    GRADLE=/soft/gradle-3.4.1/bin/gradle
    PROJECT=/root/.jenkins/workspace/AndroidDev 
    $GRADLE -b $PROJECT/build.gradle clean
    $GRADLE -b $PROJECT/build.gradle assembleRelease
    
  • 完善脚本, 对打包好的apk进一步处理

删掉没用的东西

#rm -rf /soft/*.zip /soft/*.tgz /soft/*.tar.gz

杂项配置

时区

# cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite ‘/etc/localtime’? y
#

Jenkins时区

如果jenkins的时区不正确, 可以在修改tomcat的时区
在tomcat/bin/catalina.sh中找到

#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"

在它的下面加入

JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"

Gradle 配置

#echo 'org.gradle.daemon=true' ~/.gradle/gradle.properties
#echo 'org.gradle.jvmargs=-Xmx5120m' ~/.gradle/gradle.properties
#echo '--parallel-threads=4' ~/.gradle/gradle.properties

注意

  • 配置org.gradle.jvmargs=-Xms5120m时需要根据机器实际的内存情况配置, 一定要小于实际的内存.
  • 配置–parallel-threads时要根据实际CPU的核心数量配置, 不要超过CPU的实际核心数量

问题处理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值