Android Jenkins自动化构建之路

2,564 阅读2分钟

install Jenkins

添加Jenkins的源(repository):

sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install Jenkins

启动

sudo service jenkins start

install plugins

  • Java
    首先,在你的服务器上运行一下更新。

    yum update

    然后,在您的系统上搜索,任何版本的已安装的JDK组件。

    rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'

    输出结果如下:

    jdk-1.8.0-fcs.x86_64
    jenkins-2.50-1.1.noarch
    java-1.8.0-openjdk-headless-1.8.0.121-0.b13.el6_8.x86_64
    java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64
    java-1.7.0-openjdk-devel-1.7.0.131-2.6.9.0.el6_8.x86_64
    java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.x86_64

    输入以下命令,查看已安装的JAVA版本

    java -version

    如果你之前已经安装了JAVA1.6或1.7的版本,请执行下列命令,将他们卸载。

    yum remove java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64
    yum remove java-1.7.0-openjdk-devel-1.7.0.131-2.6.9.0.el6_8.x86_64

    JDK下载和安装Oracle Java JDK
    在我写这个教程的时候最新版本的JDK是JDK 8u25。首先我们来下载最新版本的 Java版本
    Oracle Java download page下载和计算机架构相匹配的版本。
    因为我用的是 64bit CentOS 7 server,说以我下载的是64位的rpm包。
    然后,到你的下载目录,运行以下的命令来copy它到服务器。

    scp -r jdk-8u121-linux-x64.tar.gz username@serverip:/usr/local/

    解压

    tar -zxvf jdk-8u121-linux-x64.tar.gz

    输出结果如下:

    jdk1.8.0_121/
    jdk1.8.0_121/THIRDPARTYLICENSEREADME-JAVAFX.txt
    jdk1.8.0_121/THIRDPARTYLICENSEREADME.txt
    jdk1.8.0_121/lib/
    jdk1.8.0_121/lib/jexec
    jdk1.8.0_121/lib/javafx-mx.jar
    jdk1.8.0_121/lib/packager.jar
    ...

    配置JAVA_HOME

    export JAVA_HOME=/usr/local/jdk1.8.0_121
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    查看Java 版本
    现在,用一下的命令来查看你安装的JDK的版本号。
    输出结果如下:

    java version "1.8.0"
    Java(TM) SE Runtime Environment (build 1.8.0-b132)
    Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
  • Maven
    首先在Maven的下载地址查找安装的版本

    wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
    tar zxf apache-maven-3.3.9-bin.tar.gz
    mv apache-maven-3.3.9 /usr/local/maven-3.3.9

    验证版本

    mvn -v
  • Git
    CentOS的yum源中没有git,只能自己编译安装
    确保已安装了依赖的包

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    yum install  gcc perl-ExtUtils-MakeMaker

    下载最新的git包

    wget https://www.kernel.org/pub/software/scm/git/git-latest.tar.gz
    tar xzvf git-latest.tar.gz
    cd git-dir #你的目录可能不是这个
    make prefix=/usr/local/git all
    make prefix=/usr/local/git install
    echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
    source /etc/bashrc

    检查下安装的版本

    git --version
  • Gradle
    安装

    wget https://services.gradle.org/distributions/gradle-3.4.1-bin.zip  
    unzip gradle-3.4.1-bin.zip  
    rm -rf gradle-3.4.1-bin.zip

    配置环境变量

    export GRADLE_HOME=/usr/local/gradle-3.4.1
    export PATH=$PATH:GRADLE_HOME

    查看版本

    gradle --version

    输出结果如下:

----------------------------------------------------------
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 (Oracle Corporation 25.0-b70)
OS:           Linux 2.6.32-642.13.1.el6.x86_64 amd64
  • Ant
    yum install ant
  • Android SDK
    wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
    解压
    tar xfv android-sdk_r24.4.1-linux.tgz
    在64位的机器上运行android的工具需要安装一些32位的库:
    yum install glibc.i686 libgcc.i686 libstdc++.i686
    配置
    export ANDROID_HOME=/usr/local/android-sdk-linux
    export PATH = ...:$ANDROID_HOME/platforms:$ANDROID_HOME/tools
    安装sdk
    android list sdk -u
    如果想看到更详细的信息:
    android list sdk -u -e
    如果想安装全部SDK包:
    android update sdk -u
    如果想安装其中前三个包:
    android update sdk -u -t 1,2,3
    如果只想看看命令的安装范围,不真正执行安装操作:
    android update sdk -u -t 1,2,3 -n
    安装指定工具
    android update sdk --no-ui --all --filter "tools"
    android update sdk --no-ui --all --filter "build-tools-23.0.2"
    创建avd
    android list targets
    android create avd -f -a -c 512M -s 1080x1920 -n android_googles-api-25 -t android-25 --abi google_apis/x86_64
    安装指定system images
    android update sdk --no-ui --filter sys-img-x86-android-16 --all
    android update sdk --no-ui --filter sys-img-armeabi-v7a-android-16 --all
    android update sdk --no-ui --filter sys-img-mips-android-16 --all

    Jenkins全局配置

系统设置

全局工具环境配置

  • Maven
  • JDK
  • Git
  • Gradle
  • Ant
  • Docker

插件管理


新建一个构建Jobs

新建自由风格构建项目

通用

  • 填写项目描述

源码管理

  • 项目版本管理方式及地址
  • 用户认证信息填写

构建触发器(定时任务、hook...)

  • Poll SCM --》 a post-commit hook
  • Build periodically

构建环境

构建

  • 配置gradle 脚本

构建后操作

  • 安装fir.im插件上传到fir.im

构建项目管理

构建历史管理