Android Jenkins自動化構建之路

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:     9eb76efdd3d034dc506c719dac2955efb5ff9a93Groovy:       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

構建項目管理

構建歷史管理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541717.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541717.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541717.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 根據類名示例化類_Java即時類| plusMillis()方法與示例

java 根據類名示例化類即時類plusMillis()方法 (Instant Class plusMillis() method) plusMillis() method is available in java.time package. plusMillis()方法在java.time包中可用。 plusMillis() method is used to add the given duration in milliseconds to this Insta…

linux dd入門,Linux基礎知識:Linux中DD命令詳解

1.dd命令簡介功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉換。可以用該命令實現DOS下的diskcopy命令的作用。先用dd命令把軟盤上的數據寫成硬盤的一個寄存文件,再把這個寄存文件寫入第二張軟盤上&#xff0c…

CSS 字體(font)實例

1、設置文本字體 font-family:"Times New Roman",Georgia,Serif font-family:Arial,Verdana,Sans-serif 2、設置字體尺寸 font-size: 100% 3、設置字體風格 font-style:normal font-style:italic font-style:oblique 4、設置字體的異體 font-variant:normal text-var…

Java Duration類| 帶示例的compareTo()方法

持續時間類compareTo()方法 (Duration Class compareTo() method) compareTo() method is available in java.time package. compareTo()方法在java.time包中可用。 compareTo() method is used to compare this Duration object to the given object. compareTo()方法用于將此…

linux定時任務執行url,科技常識:linux定時任務訪問url實例

今天小編跟大家講解下有關linux定時任務訪問url實例 ,相信小伙伴們對這個話題應該也很關注吧,小編也收集到了有關linux定時任務訪問url實例 的相關資料,希望小伙伴會喜歡也能夠幫助大家。這次linux定時任務設置成功,也算是自己學習…

lcase和ucase_在SQL中使用UCASE(),LCASE()和MID()函數

lcase和ucaseUpper Case, Lower Case and MID functions are scalar functions which return a single value, based in the input value. 大寫,小寫和MID函數是標量函數,它們基于輸入值返回單個值。 As you all know sometimes different databases ha…

Maven的Settings.xml配置文件解釋

該配置用于單用戶配置和全局配置, 單用戶配置默認存放于 ${user.home}/.m2/目錄中. 全局配置默認存放于Maven安裝目錄下面的conf目錄中. 這兩個默認的位置都可以修改. <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://m…

linux ntp手動授時,關于我校NTP授時服務的使用說明

校園網用戶&#xff1a;我中心于近期采購了GPS北斗授時服務設備&#xff0c;該設備可實現純GPS模式、純北斗模式和混合模式與衛星對時&#xff0c;同時實現對校內設備授時的功能。支持所有NTP協議的服務器、PC、嵌入式設備等&#xff0c;包括但不限于&#xff1a;Microsoft Win…

一串字符串轉換為ascii_將ASCII字符串(char [])轉換為C中的BYTE數組

一串字符串轉換為asciiGiven an ASCII string (char[]) and we have to convert it into BYTE array (BYTE[]) in C. 給定一個ASCII字符串(char [])&#xff0c;我們必須將其轉換為C語言中的BYTE數組(BYTE [])。 Logic: 邏輯&#xff1a; To convert an ASCII string to BYTE…

debugging Auto Layout:Logical Errors

Logical Errors邏輯錯誤 Logical errors are simply bugs. Somewhere, you have an assumption that is faulty. Perhaps it’s an assumption about how Auto Layout calculates the views’ frames. Perhaps it’s an assumption about the set of constraints that you’ve …

linux反序列化漏洞,思科多個產品Java反序列化漏洞(CVE-2015-6420)

思科多個產品Java反序列化漏洞(CVE-2015-6420)發布日期&#xff1a;2015-12-15更新日期&#xff1a;2015-12-17受影響系統&#xff1a;Cisco Unified ComputingCisco Voice and Unified Communications DevicesCisco Wireless描述&#xff1a;CVE(CAN) ID: CVE-2015-6420思科是…

密碼學替代技術_替代技術及其類型| 密碼學

密碼學替代技術As we already discussed what are the Substitution techniques and one of its type Ceasar Cipher? So we are not discussing it here for that please refer to Cryptography: CeasarCipher here: Cryptography: Caesar Cipher and its Python Implementat…

Flask+uwsgi+Nginx環境搭建

2019獨角獸企業重金招聘Python工程師標準>>> 開源軟件準備 需要的軟件列表&#xff1a; setuptools-33.1.1.zip Python-2.7.13.tgz pip-9.0.1.tar.gz nginx-1.10.3.tar.gz 軟件統一上傳到/usr/local/src/下&#xff0c;python是使用自己編譯的。Python安裝 先安裝以…

穿越迷宮c語言程序設計教程課后答案,實驗二 迷宮實驗.doc

#include #define ROW 11#define COLUMN 15typedef struct{ /*棧中的數據元素的類型定義*/int row; /*行下標*/int col; /*列下標*/int direction; /*下一步移動方向*/} DATA;Typedif struct node{ /* 棧類定義*/DATA data;Struct node *next;}LinkStack;Typedef struct{/*移動…

ofb模式_密碼學中的輸出反饋模式(OFB)

ofb模式This is an output feedback (OFB) mode is similar in structure to that of CFB in Cryptography. It is the output of the encryption function that is fed back to the shift register in OFB in the cryptography, whereas in CFB in the mode of blocks, the ci…

JavaScript0-閉包

1.閉包的概念&#xff1a;在JavaScript中局部作用域總是能夠訪問到全局作用域&#xff0c;即內部函數總是能夠訪問到外部函數的參數和變量&#xff0c;即使內部函數調用完畢。也就是指有權訪問到函數作用域里的變量。 function fn1() {var x 0;return function() {cosole.log(…

win8編程c語言,Win8系統怎么運行C語言 win8系統運行C語言的方法

C語言是一門通用計算機編程語言&#xff0c;是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言&#xff0c;但是許多win8系統用戶并不知道要怎么運行C語言&#xff0c;針對這個情況&#xff0c;小編就給大家分享一…

stack示例_C.示例中的Stack.CopyTo()方法

stack示例C&#xff03;Stack.CopyTo()方法 (C# Stack.CopyTo() method) Stack.CopyTo() method is used to copy the stack elements/objects to an existing array from the given index. Stack.CopyTo()方法用于將堆棧元素/對象從給定索引復制到現有數組。 Syntax: 句法&am…

Linux sudoers文件的寫法

2019獨角獸企業重金招聘Python工程師標準>>> 文件的組成 sudoers文件由三部分組成&#xff1a; sudoers的默認配置&#xff0c;主要設置sudo的一些缺省值&#xff08;本文不會對這些默認配置進行介紹&#xff0c;若有興趣可以自己man 5 sudoers然后搜defaults)alias…

if是什么c語言,這個C語言是什么(if(1))?

我在openssl源代碼中注意到一個奇怪的成語,here并重復如下&#xff1a;if ((in NULL) && (passwds NULL)) {if (1) { (* #ifndef OPENSSL_NO_UI/* build a null-terminated list */static char *passwds_static[2] { NULL, NULL };passwds passwds_static;if (in …