Android Jenkins自動化構建之路

018912251077_發表於2017-03-22

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

Android Jenkins自動化構建之路

  • 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全域性配置

    Android Jenkins自動化構建之路

系統設定

Android Jenkins自動化構建之路

全域性工具環境配置

  • Maven
  • JDK
  • Git
  • Gradle
  • Ant
  • Docker
    Android Jenkins自動化構建之路

外掛管理

Android Jenkins自動化構建之路


新建一個構建Jobs

新建自由風格構建專案

Android Jenkins自動化構建之路

通用

  • 填寫專案描述
    Android Jenkins自動化構建之路

原始碼管理

  • 專案版本管理方式及地址
  • 使用者認證資訊填寫
    Android Jenkins自動化構建之路

構建觸發器(定時任務、hook...)

  • Poll SCM --》 a post-commit hook
  • Build periodically
    Android Jenkins自動化構建之路

構建環境

Android Jenkins自動化構建之路

構建

  • 配置gradle 指令碼
    Android Jenkins自動化構建之路

Android Jenkins自動化構建之路

構建後操作

  • 安裝fir.im外掛上傳到fir.im
    Android Jenkins自動化構建之路

構建專案管理

Android Jenkins自動化構建之路

構建歷史管理

Android Jenkins自動化構建之路

相關文章