设为首页 收藏本站
查看: 790|回复: 0

[经验分享] 搭建linux环境下jenkins可移植环境

[复制链接]

尚未签到

发表于 2018-1-7 16:37:18 | 显示全部楼层 |阅读模式
  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>  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
  这是第一次写博客,感觉确实不错,对自己很有帮助。写的不好地方,欢迎浏览者给意见。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-432630-1-1.html 上篇帖子: jenkins执行自动化用例(详细、有用、mark 优先级高高高) 下篇帖子: How to change Jenkins default folder on Windows?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表