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
构建项目管理
构建历史管理
Android Jenkins自动化构建之路相关推荐
- Android项目jenkins自动化构建之360加固(一)
Android项目jenkins自动化构建之360加固(一) 最近Jenkins接手一个项目,项目自动化构建都是在jenkins上做的,包括打包构建--360加固--apk签名--邮件发送apk 总共 ...
- jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...
目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...
- 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告
目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...
- 怎么用python编写个apk_【android】如何利用python做Android项目自动化构建,并一键实现构建结果发送到钉钉通知以及通过二维码下载apk或者其他处理等功能...
今天我们来谈一谈用python做Android项目自动化构建的过程.我们知道在常规的Android开发过程中,开发人员打包的时候需要在Android Studio当中进行,或者通过gradle命令,但 ...
- 用Jenkins自动化构建Android和iOS应用
背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变. 场景 ...
- Android jenkins 自动化打包
前言:前段时间因项目需要捣拾了一下Jenkins自动化打包,过程中遇到了很多的坑,在此记录一下.因为这篇博客是之后写的,所以有些具体的坑就不能回显了. 一,实现的功能 选择版本号,git 分支,渠道, ...
- 最新Jenkins自动化构建使用 (Unity2020+Jenkins+云效)
团队开发项目时,经常要频繁地推拉.打包项目,如果能让机器自动去做这些重复的工作,将节省大量时间. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件 ...
- git log 获取构建时间_Docker 运行 Jenkins 自动化构建 .NET Core 项目
(给DotNet加星标,提升.Net技能) 转自:ZKEASOFTzkea.net/codesnippet 目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器. 接下来介绍一下如何在容器 ...
- gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...
常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...
最新文章
- 令牌桶算法和漏桶算法有什么区别_高并发之限流,到底限的什么鬼 (精品长文)...
- 步骤5 - Orchestra从微服务提供商获得结果,再发送回WebSocket服务器
- 简陋版C语言仿真通讯录之动态内存开辟版本
- win7 git 添加 ssh key
- Unity3d脚本生命周期
- 从零基础入门Tensorflow2.0 ----三、11. tf.GradientTape与tf.keras结合使用
- 没有找到dllregisterserver输入点_「Mac实用技巧」将浏览器的点密码转换成文本密码的三种方法分享...
- JAVA 汉字转化中文拼音
- 如何用R语言做深度学习
- python删除单元格_Openpyxl删除单元格/清除内容
- Mac 查看本地端口
- 虚拟机安装pycharm
- [GIS] 火星坐标GCJ-02的实质 | 高德地图的实际坐标系
- AI笔记: 数学基础之二项分布与二项式定理
- 关于pip安装gap_statistic
- 论大数据时代下的海量数据存储技术
- 基于51单片机的汽车测速仪表红外避障车辆高速测速方案原理图设计
- Nodejs和ajax不同,Nodejs和AJAX的区别是什么?
- oracle 获取英文时间,javascript英文日期(有时间)选择器
- java基础 马士兵_马士兵java零基础
热门文章
- android自定义圆圈动画,自定义view实现动画数字圆圈
- java计数器策略模式_java设计模式(二十一)--策略模式
- python可以构建sem模型_python-分组的熊猫DataFrames:如何将scipy.stats.sem应用于它们?...
- html文字竖直书写,css 文字竖直居中的写法和图片垂直居中代码(图文)
- 图像中值滤波python代码_图像中值滤波FPGA实现
- 虚拟机随服务器启动,VMware Server中虚拟机随宿主机自动启动
- 苹果app商品定价_【知乎问答】苹果 App Store 新推出的 1 元或 3 元定价对开发者有什么影响?...
- 1104: 求因子和(函数专题)
- 堆栈关系java_从关键字说Java对象、引用、指针、堆栈的关系
- 十、Python第十课——字典的些许知识(重点)