搭建linux环境下jenkins可移植环境

1:背景

项目领域:android。

项目需求为:建立一个网站用于产品经理(以下称为PM)配置该apk所需服务插件,打包出包(包含:apk,文档,demo等等)给厂商并且记录打包出包等信息。

项目设计方案简单文字描述:

采用PHP做服务端开发语言,以nginx为服务器,以mysql数据库存储数据,以jenkins为持续构建辅助工具。

简单架构如下:

打包流程图如下:

2:jenkins简介

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。说白了,它本质上是一个web项目,它提供构建打包项目,从svn拉取项目,执行脚本等等功能。从官网下载jenkins会获取一个jenkins.war文件,.war文件格式是tomcat服务中项目发布时会自解压的文件格式。

安装方式:需要先安装jdk 1.4以上版本: 一般推荐第二种,比较稳定。

1:可以通过java -jar jenkins.war解压该文件,然后就可以在浏览器中输入:locathost:8080打开jenkins首页。

2:将jenkins.war文件移到tomcat的webapps目录下,运行tomcat,.war文件会自动解压成jenkins文件夹。访问:localhost:8080/jenkins即可打开jenkins首页。

3:环境搭建和配置

机器为linux系统。搭建过程中牵涉到的环境如下:

1:jdk环境,需要1.4以上。

2:安装tomcat

3:安装jenkins,下载jenkins.war包,copy到tomcat的webapps目录下。

4:安装和配置android环境,提供打包脚本中的各种android相关命令。

5:安装ant,提供执行ant功能(android apk打包采用的ant脚本)。

6:配置svn。

搭建之后需要保证可移植性,即以后更换机器,将一个文件夹copy到新机器上面,执行一个脚本即可。为此有以下搭建目录结构(其中目录名称都可以自己定,红色部分为关键):

1:将所有的文件都放入到linux根目录的/data/jenkins目录下,将/data目录挂载到一个单独的硬盘上面

2:所有的环境变量配置都需要放入到/data/jenkins/.bashrc脚本中,.bashrc脚本需要配置到开机启动执行列表中

3:jenkins项目会有一个对应的工作目录,主要用于保存构建记录,svn拉取的项目文件等等。工作文件名一般为:.jenkins,需要将其配置到/data/jenkins目录下,该目录地址可以在jenkins首页中查看,其中也有提示如何配置。

3.1:安装java jdk

下载java jdk 1.6以上版本的压缩包,将其进行解压到/data/jenkins/java_xxx目录下,然后就是配置环境变量,在/data/jenkins/.bashrc文件中增加代码。

1:export JAVA_HOME=/data/jenkins/java_xxxx,该目录主要用于classpath和path两个环境变量,也提供给一些第三方软件使用,比如:tomcat。

2:配置classpath,主要用于进行类搜索,和import,package相关。由于这个配置比较复杂,所以sun公司帮助用户不配置的情况下,也能够运行java项目。

export CLASSPATH=.:$JAVA_HOME/dt.jar:$JAVA_HOME/tool.jar;

3:配置path,path指定一些目录,这些目录下的命令可以被用户直接运行,比如:配置jdk的bin目录,就可以直接运行java -version。

export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH;

配置完成之后,运行java -version,查看是否配置正确。

3.2:安装tomcat

下载tomcat 7.0以上版本的压缩包,进行解压到/data/jenkins/tomcat_xxx目录下。执行tomcat_xxx/bin/startup.sh,再访问localhost:8080查看是否运行正常。

运行正常之后,需要加入到开机自启动中,在etc/init.d中新建tomcat脚本,先执行/data/jenkins/.bashrc脚本,再启动tomcat中的startup.sh,具体代码请进行查询。

3.3:安装jenkins

下载jenkins.war,copy到/tomcat_xxx/webapps目录下,然后配置环境变量,在/data/jenkins/.bashrc中增加。

export JENKINS_HOME=/data/jenkins/.jenkins,主要配置了jenkins的数据文件目录,其中存储了每次构建记录,日志以及svn拉取的文件。

然后打开localhost:8080/jenkins/configure,配置工作空间目录(存放svn拉取的文件)和构建空间目录,如图:

3.4:安装android环境

下载android sdk,copy到/data/jenkins/目录下,命名为android-sdk,然后配置环境变量,在/data/jenkins/.bashrc中增加:

export ANDROID_SDK_HOME=/data/jenkins/android-sdk,这主要指定android根目录。

export PROGUARD_HOME=/data/jenkins/android-sdk/tools/proguard,这主要用于打包中的混淆。

3.5:安装ant

下载ant压缩包,解压放入到/data/jenkins/ant-xxxx,然后配置环境变量,在/data/jenkins/.bashrc中增加:

export PATH=/data/jenkins/ant-xxx/bin:$PATH

3.6:设置svn

jenkins一般自带svn,打开jenkins首页,localhost:8080/jenkins,新建一个项目,在svn一栏设置svn地址,点击授权,输入用户名和密码,进行保存。以后打包不需要进行svn授权,从而可以实现自动打包。如图:

设置成功之后,还需要到/data/jenkins/目录下,执行svn info 加上你的工作目录,进行授权,并且永远保存。

4:jenkins api

jenkins提供界面化的操作方式,也提供了api,可供其他平台调用。在我的项目中,服务端则会通过jenkins api发送命令给jenkins建立项目,删除项目,获取项目状态等。

api查看url:https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API。

5:注意事项

1:所有的环境配置都在data/jenkins/.bashrc中, .bashrc需要开机自启动,可以放入到etc/init.d/tomcat中执行。

2:android sdk安装时需要查看是否和linux系统匹配,如果64位系统装了32位,则会出现ant打包时异常错误,缺少系统级别命令,当然也可以一个一个的补安装。

3:ant脚本中引用的命令,需要和android sdk的目录,jdk的目录对应起来。否则找不到命令。

6:yy

这是第一次写博客,感觉确实不错,对自己很有帮助。写的不好地方,欢迎浏览者给意见。

时间: 2024-10-13 15:57:21

搭建linux环境下jenkins可移植环境的相关文章

持续集成:采用Xvfb+Selenium+Firefox搭建linux服务器下的自动化测试环境

自动化测试属于软件测试的一部分,QTP.LoadRunner等都可以编写自动化测试脚本,但是QTP.LoadRunner等工具毕竟还需要人工操作,在持续集成思想下,软件应该自动发布并且自动测试,这样可以加快软件的开发测试周期,及时发现软件错误.持续集成应该包括代码的自动化检查.版本的自动化发布.以及程序的自动化测试.在自动化测试之外,再辅助以人工测试. 在我负责的项目中,代码自动化检查采用了SVN+CheckStyle实现,前文已有介绍,版本自动化发布采用了Jenkins或者crontab+An

Windows PHP 环境下 Redis开发环境搭建

1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redi

Mac环境下cocos2d-x开发环境完全指南

本教程来自CSDN博客:http://blog.csdn.net/zhaokaiqiang1992 转载请说明! 本教程主要指导新手在Mac环境下cocos2d-x开发环境搭建. 1.cocos2d-x下载 下载网站:http://cn.cocos2d-x.org/download/ 下载3.x版本后,解压即可 2.必备软件安装及环境配置 进行cocos2d-x开发,必须安装的软件有 Java SDK(Mac自带) Ant(安装可以参考这个教程:http://www.cnblogs.com/il

win 环境下 node.js环境变量

 在win 环境下 node.js环境变量有两种情况:  (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. (2)生产环境(production):是指正式提供对外服务的,一般会关掉错误报告,打开错误日志. 代码: if (process.env.NODE_ENV === 'production') { //在生产情况下做怎样的处理 /* 你的代码*/} else { //在开发环境下做怎样的处理 /*

ant+jmeter 在Linux环境下接口自动化测试环境搭建(2)

上一篇讲过在Windows下搭建的方法,今天这里写一下在Linux环境下搭建的方法. 实验准备:Linux服务器一台. 服务器上安装好jdk,配置好环境变量. 服务器上配置好ant. 工具准备: Jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Jmeter下载地址 http://jmeter.apache.org/ Ant下载地址 http://ant.apache.org/ 环境准备: 所以

Linux环境下Android开发环境的搭建

本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (2)选择Linux版本下载,如下载的是tar包则使用#tar xvzf xxx.tar.gz 命令进行解压:如下载的是

linux系统下安装Python环境

如何在Linux系统下搭建Python开发环境(http://www.maiziedu.com/course/python/)?Python在Linux系统中安装方法在Windows下是有很大的区别的,今天就具体记录一下关于 Python 环境软件包在Linux系统下的一些安装步骤 1.升级 Python 到 2.7.10( 默认 2.6.6 ) shell > yum -y install epel-release shell > yum -y install gcc wget readli

【转】Windows环境下Android NDK环境搭建

原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备.接口.驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识.本文就介绍一

Windows环境下Android NDK环境搭建

前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备.接口.驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识.本文就介绍一下NDK环境搭建及基础编程思想. 本文演示环境:Windows 7 Ultimate+Cy