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 ...
随机推荐
- 山东省第六届省赛 H题:Square Number
Description In mathematics, a square number is an integer that is the square of an integer. In other ...
- Codeforces Round #442 A Alex and broken contest【字符串/常量数组/string类】
A. Alex and broken contest time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- Fruit Feast(暴力)(动态规划)
Fruit Feast 时间限制: 1 Sec 内存限制: 64 MB提交: 64 解决: 18[提交][状态][讨论版] 题目描述 Bessie has broken into Farmer J ...
- CentOS7部署l2tp/IPsec服务
1.安装必要的工具 yum install vim net-tools wget unzip -y 2. 下载安装脚本 wget -O StackScript.zip http://files.cnb ...
- Web应用漏洞评估工具Paros
Web应用漏洞评估工具Paros Paros是Kali Linux集成的一款Web应用漏洞评估工具.该工具提供HTTP会话分析.网络爬虫.漏洞扫描三大功能.首先借助HTTP代理模式,该工具可以实时 ...
- wildfly8.1部署注意事项
wildfly8.1部署注意事项 jboss 最近新项目上线,本人部署过程中总结了以下几点比较关键的地方,看是否对大家有用处 服务器改成支持外网访问 在standalone.xml文件中找到 ...
- 【最大权闭合子图/最小割】BZOJ3438-小M的作物【待填】
[题目大意] 小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1...n编号),现在,第i种作物种植在A中种植 ...
- 生成唯一code
private String getCode() { List<String> ptypeCodeList = mapper.findCodeList(); String code = & ...
- url参数的获取
方法 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&am ...
- 【转载】linux2.6内核initrd机制解析
题记 很久之前就分析过这部分内容,但是那个时候不够深入,姑且知道这么个东西存在,到底怎么用,来龙去脉咋回事就不知道了.前段时间工作上遇到了一个initrd的问题,没办法只能再去研究研究,还好,有点眉目 ...