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.mzph.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 …