Linux下Jenkins+git+gradle持续集成环境搭建
一、项目介绍 和 linux 环境搭建
本教程讲解 Linux下Jenkins+git+gradle 持续集成环境搭建,后续会加入 gerrit代码审核 和 robotium自动化测试
1、基本流程如下:
androidstudio-- gerrit --- git(github) ----jenkins ---gradle ---- robotium 结果 使用AndroidStudio 开发,提交到gerrit进行代码审核,审核后提交给git(可以自己搭建git服务也可以使用github),jenkins 监听git的提交情况 来触发build操作,使用gradle构建后,使用robotium自动化测试。
2、环境准备
pc :AndroidStudio 开发环境、SecureCRT
linux:jdk、tomcat、git、AndroidSDK、gradle、jenkins3、使用netstat -tl或service ssh status查看ssh服务是否开启,如果没有开启,用service ssh
restart开启,如果没有安装,使用sudo apt-get install openssh-server安装ssh,就可以用
SecureCRT 在pc端 操作linux了。备注:常用命令
ifconfig
ping 192.168.5.1cat /proc/version
uname -a #可以看到是系统是32位还是64位
cat /etc/issue
sz 下载 rz 上传
二、JDK、tomcat、git 的安装
(一)、JDK安装
1、下载jdk-6u45-linux-i586.bin
2、./jdk-6u45-linux-i586.bin 安装
3、把 编译后的jdk文件夹 移动到 /usr/share
4、设置环境变量备注:常用命令
sudo apt-get install vimi 进入编辑模式
esc 返回命令模式
:wq 保存退出
:q!,回车。放弃更改退出sudo vim /etc/profile
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
source /etc/profile
rm -rf
mv -f
================================
(二)、tomcat 安装
1)下载apache-tomcat-6.0.41.tar.gz
2)#tar -zxvf apache-tomcat-6.0.41.tar.gz ;//解压
3)#cp -R apache-tomcat-6.0.41 /usr/share/tomcat ;//拷贝apache-tomcat-6.0.41到/usr/share/下并重命名为tomcat
4) /usr/local/tomcat/bin/startup.sh; //启动tomcat
显示 Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TEMDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk1.6.0_01
到此tomcat已经安装完成,现在使用浏览器访问 http://localhost:8080,出现tomcat默认页面,说明已经安装成功。
sudo chmod -R 777 tomcat #-R 递归
当然也可以不用Tomcat直接启动Jenkins,因为他已经内嵌了Jetty (类似于tomcat)
==================(三)、安装git
sudo apt-get install git
SCM 工具(SVN、Git、CVS、Mercurial等)
三、gradle 和 android sdk 的安装
(一)、安装gradle
1、解压gradle:
unzip gradle-1.12-all.zip
2、配置gradle 的环境变量
sudo vim /etc/profile
GRADLE_HOME=/opt/gradle-1.9
PATH=$GRADLE_HOME/bin:$PATH
export GRADLE_HOME
export PATHsource /etc/profile
(二)、安装AndroidSDK
1、解包 android-studio-bundle-135.1339820-linux.tar
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ——————————————— .bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName .tar.bz2 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName ——————————————— .bz 解压1:bzip2 -d FileName.bz 解压2:bunzip2 FileName.bz 压缩:未知 .tar.bz 解压:tar jxvf FileName.tar.bz 压缩:未知 ——————————————— .Z 解压:uncompress FileName.Z 压缩:compress FileName .tar.Z 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName ——————————————— .zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName ——————————————— .rar 解压:rar x FileName.rar 压缩:rar a FileName.rar DirName ——————————————— .lha 解压:lha -e FileName.lha 压缩:lha -a FileName.lha FileName ——————————————— .rpm 解包:rpm2cpio FileName.rpm | cpio -div ——————————————— .deb 解包:ar p FileName.deb data.tar.gz | tar zxf -
解包后把里边的sdk 复制到 /usr/share/android-sdk-linux
2、配置环境变量
sudo vim /etc/profile
GRADLE_HOME=/opt/gradle-1.9
PATH=$GRADLE_HOME/bin:$PATH
export GRADLE_HOME
export PATHsource /etc/profile
3、启动模拟器
到linux 图形界面下,进入android-sdk-linux 下载模拟器镜像、创建模拟器并启动(执行monitor即可)


四、jenkins的安装
在pc端使用AndroidStudio 开发并提交到github 这个过程就不讲了。
将 jenkins.war 放到tomcat/webapps下 重启tomcat
sudo cp jenkins.war /usr/share/tomcat/webapps/1、安装插件:

Sometimes when you install, you will notice that the list of available plugins is empty. If that is the case, from Advanced tab on the Manage Plugins page, click on Check now (button available in
the bottom right of the page) to forcefully check for new updates. Once that is done, you should see the list of plugins.进入ManagePlugins

安装 Git Plugin 和 GitHub Plugin2、配置环境
进入"Manage jenkins->Configure System"设置Jenkins的相关参数。主要是设置Git和GitHub插件的参数,
在Git下的Path to executable一栏添加本机的git.exe的路径,
在Git plugin下的添加本地Git的user.name和user.email的信息,
在GitHub Web Hook下添加GitHub账户的相关信息。
如果想要使用邮件的功能,需要在邮件通知的一栏添加SMTP服务器和邮箱的相关信息,添加后点击Test的按钮测试一下能否正常发送邮件,这一功能可以在后面的项目中使Email Notification功能得以正常使用。

去github上generate 一个 token

3、创建Job
点击"新Job",输入"任务名称",选择"构建一个自由风格的软件项目",点击"OK"。系统自动进入"任务配置"界面。5.配置构建方法
在GitHub project中输入git地址。
在"源码管理->Git"下的Repository URL输入Repository的Git地址(PS:可以选择分支)。

如果是私有项目 还需要添加 账号密码

在"构建触发器"中选择"Build when a change is pushed to GitHub "和"Poll SCM ",这两项的作用分别是当GitHub有版本库更新时触发Jenkins进行构建和定期检查版本库是否有更新,如果有更新则触发Jenkins进行构建。这里要注意Schedule语法,例如"*/2 * * * *"表示每隔2分钟检查一次。
使用gradle 构建 后装到模拟器上

最终结果:
当我们在pc端有代码push到github时,jenkins 会自动获取后使用gradle构建并且安装到模拟器上测试
Linux下Jenkins+git+gradle持续集成环境搭建的更多相关文章
- 环境部署(七):linux下Jenkins+Git+JDK持续集成
前面几篇博客介绍了linux下安装Jenkins.Git.JDK以及Git基础教程和Git关联github等内容,这篇博客,介绍下如何在linux服务器中利用它们构建持续集成环境... 一.准备工作 ...
- Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...
- jenkins+maven+svn 持续集成环境搭建
说明:部署传统的web应用(.war) 准备工作: (1) 系统环境:CentOS7 (2) 安装JDK:https://www.cnblogs.com/myitnews/p/11493847.htm ...
- Jenkins Robot framework 持续集成环境搭建
为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航.这其中有个重要的工具Jenkins,同时也是应群里朋友们的要求,这次就来介绍一下RF如何快速便捷的结合Je ...
- jenkins+donet core持续集成环境搭建
一.Jenins+GitHub 参考 另外需要配置Global Tool Configuration 如果没有安装git,需下载安装,下载地址 二.jenkins发布donet core应用 1.配置 ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- 用Jenkins构建Django持续集成环境
用Jenkins构建Django持续集成环境 - V2EX https://www.v2ex.com/t/32054
- Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...
随机推荐
- [mysql] 表去重
select *, count(distinct content) from comment2 group by content
- .NET Core CLI
NET Core 命令 一. 帮助命令 dotnet help 使用情况: dotnet [sdk-options] [command] [command-options] [arguments] 执 ...
- scrapy生成csv文件空行、csv文件打开乱码(解决方案)
一.scrapy生成csv文件会有多余的空行 当使用scrapy crawl testspider -o test.csv后,生成的默认csv文件每一行之间是有空行的,解决的方法是修改scrapy的源 ...
- 【枚举】【权值分块】bzoj1112 [POI2008]砖块Klo
枚举长度为m的所有段,尝试用中位数更新答案. 所以需要数据结构,支持查询k大,以及大于/小于 k大值 的数的和. 平衡树.权值线段树.权值分块什么的随便呢. #include<cstdio> ...
- map泛型 map不指定泛型 与 Map<Object,Object>的区别
map泛型 map不指定泛型 与 Map<Object,Object>的区别 private void viewDetail(){ Map map1 = new HashMap(); Ma ...
- Problem I: 零起点学算法30——输出四位完全平方数
#include<stdio.h> int main() { int a,b,c,d,s,i; ;i<;i++){ s=i*i; a=s/; b=s%/; c=s%/; d=s%; ...
- Delphi 7生成XML
文件格式为: Day 制1課 U12 ASSY01 Wrist 1009 0 2018/05/18 09:35:59 Day 制1課 U12 ASSY02 Wrist 1010 0 2018/05/1 ...
- 十. 图形界面(GUI)设计8.选择框和单选按钮
选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...
- 使用Arraylist产生不重复的随机数
在Java中主要有两种方法来获取随机数,分别是通过Math.random方法和Random类获得随机数,不过Math.random方法其实也是通过生成一个Random类实例,然后再生成随机数的,也就是 ...
- INLINE-BLOCK和FLOAT(二)(转)
一.一抹前言 没有爱的日子,时间如指尖细沙,不知不觉就流逝了.写“CSS float浮动的深入研究.详解及拓展(一)”和“CSS float浮动的深入研究.详解及拓展(二)”似乎就在不久前,然而相隔差 ...