jenkins git gradle android自动化构建配置
需要安装软件(jenkins所在服务器):
gradle、SDK
一、gradle安装(服务器部署的gradle版本需要等于或高于开发环境的gradle版本)
1、下载地址:http://services.gradle.org/distributions (gradle-2.14.1-all.zip)
2、上传到linux并解压: unzip gradle-2.14.1-all.zip
3、配置环境变量:
export GRADLE_HOME=/home/cfjekins/gradle/gradle-2.14.1 (gradle解压后的目录)
export PATH=$PATH:$GRADLE_HOME/bin
4、source命令使配置生效:source .bash_profile (source 文件名)
5、检验配置是否生效:echo $GRADLE_HOME
/home/cfjekins/gradle/gradle-2.14.1
二、SDK安装(服务器SDK版本需要跟开发环境SDK版本一致)
1、下载地址:http://tools.android-studio.org/index.php/sdk/ (android-sdk_r24.4.1-linux.tgz)
2、上传到linux并解压:tar zxvf android-sdk_r24.4.1-linux.tgz
(解压后的目录没有build-tools、platforms、platform-tools目录,需要更新)
3、配置环境变量:
export ANDROID_HOME=/home/cfjekins/android_SDK/android-sdk-linux (SDK解压后的目录)
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
使配置生效:source .bash_profile (source 文件名)
检验配置是否生效:echo $ANDROID_HOME
4、更新build-tools、platforms、platform-tools
使用镜像服务器地址更新,地址如下:
大连东软信息学院镜像服务器地址:http://mirrors.neusoft.edu.cn 端口:80
北京化工大学镜像服务器地址:IPv4: http://ubuntu.buct.edu.cn/ 端口:80、IPv4: http://ubuntu.buct.cn/ 端口:80、IPv6: http://ubuntu.buct6.edu.cn/ 端口:80
上海GDG镜像服务器地址:http://sdk.gdgshanghai.com 端口:8000
1>进入SDK解压目录下的tools目录:cd /home/cfjekins/android_SDK/android-sdk-linux/tools
2>查看镜像列表,tools目录执行命令: ./android list sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s
打出可更新列表:
3>更新,tools目录下执行命令:./android update sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s -u -t platform (-t 后的参数为更新程序名)
platform、platform-tools、build-tools更新完后,解压目录下就能看到platform、platform-tools、build-tools目录,更新后SDK目录如下:
build-tools目录:(23.0.1的版本是更新的版本,其他版本是从android studio下载下来放进去的,因为linux从镜像服务器上更新的是镜像服务器上最新的版本,最新的版本或其他版本需要自己下载扔进去就好了)
paltforms目录:(android-23/24版本也是从android studio下载下来放进去的,这里SDK最高的版本需要与开发环境SDK版本一致,我们最高的版本是android-24,而镜像地址更新的最高版本是android-22,所以需要下载android-24放进去)
paltform-tools目录:
到这里SDK安装完全。
三、安装gradle plugin
jenkins-->系统管理-->管理插件-->选择"gradle plugin"下载并安装
四、配置gradle
系统管理-->Globl Tool Configuration,配置如下图:
五、新建JOB及配置
Jenkins->新建->构建一个自由风格的软件项目
1、General配置
2、源码管理
repository UR:git的项目URL(linux上只能通过 SSH方式登录)
credentials:jenkins登录git的凭证,linux环境只能设置SSH方式(通过add设置,详细设置查看jenkins SSH登录 Git配置(通过eclipse生成SSH 密钥))
3、构建触发器
这里设的是每天凌晨2点运行JOB
4、构建--Invoke Gradle script
1>系统设置-->Global Tool Configuration配置Gradle版本(我在这里设置了两个版本)
name:所配置gradle的名字,随便填
GRADLE_HOME:服务器上gradle的解压目录
2>job里的gradle配置
Gradle Version:这里选择上一步配置好的gradle版本
Tasks :构建任务(--debug:为构建日志输出格式)
5、配置邮件发送
设置收件邮箱之前,先在"系统管理-->系统设置-->邮件通知"做发送邮箱设置。
Recipients:收件人邮箱
jenkins git gradle android自动化构建配置的更多相关文章
- android--jenkins+gradle+android自动化构建apk步骤(转)
第一步,安装jenkins,这个网上教程挺多的. 第二步,下载并配置gradle.下载地址http://www.gradle.org/ 解压gradle至某路径下,如/usr/local/lib/gr ...
- Jenkins+Git+Maven搭建自动化构建平台
http://blog.csdn.net/xlgen157387/article/details/50353317
- [android自动化构建]之centos安装gradle
这是android自动化构建系列之环境配置 这里只记录部分gradle相关的配置 下载并解压 下载地址参考这里:https://services.gradle.org/distributions/,未 ...
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- jenkins+git+maven搭建自动化部署项目环境
简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...
- 使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题
道哥的第 030 篇原创 目录 一.一个真实的代码泄漏故事 二.Jenkins 的基本使用 1. Jenkins 是什么? 2. 安装 JDK8 3. 安装 Jenkins 4. 在浏览器中配置 Je ...
- 使用Jenkins配置Git+Maven的自动化构建
Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...
- Jenkins自动化构建配置
写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...
- 基于Jenkins+Git+Gradle的Android持续集成
本文参考了: http://my.oschina.net/uboluo/blog/157483 http://java.dzone.com/articles/automating-continuous ...
随机推荐
- 什么是Spring Cloud
Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用 ...
- 通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术
通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages( JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC ...
- csdn 模式识别
http://blog.csdn.net/liyuefeilong/article/details/45217335 模式识别 http://ceit.ucas.ac.cn/index.php?id= ...
- MongoDB基本用法
MongoDB基本用法(增删改高级查询.mapreduce) 分享一下我经常用到的自己写的mongo用法示例 该示例基于当前最新的mongo驱动,版本为mongo-2.10.1.jar,用junit写 ...
- MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given context
C++调用存储过程失败!出现如下错误:MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given ...
- ASP.NET MVC 随想录
http://www.cnblogs.com/OceanEyes/category/696137.html
- Java千百问_05面向对象(011)_引用传递和值传递有什么差别
点击进入_很多其它_Java千百问 1.什么是值传递 值传递,是将内存空间中某个存储单元中存放的值,传送给还有一个存储单元.(java中的存储单元并不是物理内存的地址,但具有相关性) 比如: //定义 ...
- 复习及总结--.Net线程篇(4)
这里要说的就是多线程的锁的问题了 锁:作用在于实现线程间的同步问题,最典型的是售票问题 1,InterLocked 提供的都是静态方法,用来同步对多个共享变量的访问,包括以原子方式递增,递减,比较和替 ...
- IOS 开发之 -- 过滤掉字符串里面所有的非法字符 字典和json之间的互转
比如一个字符串: NSString * hmutStr = @"(010)*(123)E6(234)**150-1111-^^-1234#" 很多时候,数据之间的传输,我们仅仅只想 ...
- $("#btn").click(function(){ });只有在页面加载的时候才会有效触发
例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...