美文网首页我爱编程
Jenkins自动化构建

Jenkins自动化构建

作者: runningStream | 来源:发表于2018-05-26 20:29 被阅读0次

    一、Tomcat和Jenkins下载安装

    1. 下载Tomcat:

    download_Jenkins.png

    下载完成后解压到指定目录下,然后命名为Tomcat,启动Tomcat 打开终端,切换到Tomcat/bin目录下,然后输入:./startup.sh 回车,或者Windows下双击startup.bat, 就可以启动我们的Tomcat了打开浏览器输入http://localhost:8080/,如果出现一只猫,则证明配置成功.

    2. 安装Jenkins:

    download_Jenkins_plugin.png

    将下载的Jenkins.war包直接放到tomcat下的webapps目录
    启动tomcat
    然后打开http://localhost:8080/jenkins
    然后就是一系列的安装过程,默认即可。。。加载的一些插件可以根据自己的需要选择,或者选择推荐的插件安装
    可能遇到的问题:打开http://localhost:8080/jenkins报404错误,可能tomcat没启动,或者下载的Jenkins.war是坏的,重新下载即可.

    3. 首次打开Jenkins,会提示安装所需的插件:

    download_Jenkins_plugin.png

    除默认插件, 还有其他一些插件推荐:


    other_jenkins_plugins.png

    [图片上传中...(system_config_2.png-1414fb-1527336684558-0)]

    注意:在首次进入Jenkins并设置admin管理员账号后, 要立即修改admin密码, 否则下次登录登录不了.

    二、系统管理-系统设置:

    1. Jenkins空间目录结构

    system_config_2.png

    说明:
    (1)主目录即安装Jenkins自动生成的Jenkins所有配置,工程,插件,日志等存放的目录, 一般在当前用户下创建;
    (2)工作空间根目录,即所创建的Job从svn或者git等拉到本地的代码存放的目录,即 下图红框2;
    (3)构建记录根目录,即创建的Job构建的日志记录以及配置项所存放的目录,即 下图红框1.

    system_config_1.png

    2. 全局属性配置

    在这里配置全局都可用的属性, 例如系统JDK, SDK,NDK, Python等环境变量(如果Jenkins所在的系统有配置对应的环境变量到系统path里,那么这些都可以不用配, 如果没有配置,则可以在这里配置好, 否则在编译时会提示找不到对应需要的库.), 例如下面配置了Python路径的环境变量.


    system_config_3.png

    3. 配置源码服务器

    这里我用的是gitlab托管我的代码,所以配置对应的gitlab即可, 也可以不配置, 在具体Job里去配置也可以, 例如我这里就没有配置.其他代码托管平台类似.


    system_config_4.png

    4. 配置邮箱服务器, 首先需要添加Email Extension Plugin插件, 然后就会出现下面的配置项:

    (1) 配置系统管理员邮箱, 这里配置你的邮箱地址:
    (2) 配置(1)设置的系统邮箱地址用户名密码等.


    system_config_5.png

    5. 配置自动将安装包上传到ftp服务器

    需要安装Publish over FTP插件, 然后就会出现下面的配置项,逐项配置即可:


    system_config_6.png

    三、新创建并配置Job

    1. 在Jenkins首页点击新建:

    job_config_1.png

    2. 配置参数化构建过程:

    job_config_2.png

    3. 配置主工程源码及依赖工程源码

    因为我们项目工程结构比较特殊, 依赖module并不包含在主工程目录里, 而是与主工程目录平级的, 所以采用了Multiple SCMs, 并且配合动态替换setting.gradle的方式,达到正确引入module依赖的目的.

    下载好Multiple SCMs插件后, 就会出现下面的"Multiple SCMs"选项, 如下图配置:


    job_config_3.png

    在module下选择'Add', 选择 'check out to a sub-directory',配置本地目录module根目录名.


    job_config_4.png

    这里说明一下,其实我们的代码会从服务端拉取到本地, 并在本地生成对应的目录,这个目录就是上面所说的'workspace'目录里, 然后具体构建的时候就对本地代码进行的编译构建.

    4. 构建环境

    需要下载build-name-setter插件,才会出现 Set Build Name这个选项.


    job_config_5.png

    5.构建配置

    注意下面的各个子项是可以长按拖动位置位置的,具体位置如何, 要根据是需要在开始构建前做一些操作还是在开始构建后, 比如说下面的copy命令,就是因为我们需要在开始构建前,完成setting.gradle的替换操作, 所以位置前移到了构建开始前.

    如果是Windows系统,则选择'Execute Windows batch command',并输入如下命令:
    copy /y %WORKSPACE%\settings_copy.gradle %WORKSPACE%\settings.gradle
    如果是Linux或者Mac系统, 则选择'Execute shell', 并输入如下命令:
    \cp -rf $WORKSPACE/settings_copy.gradle $WORKSPACE/settings.gradle

    job_config_7.png

    注意到上面有一个Python命令, 用于生成下载二维码用的,在这之前, 需要先去github上下载qrcode-master到本地, 然后再本地磁盘上指定一个目录存放二维码图片,例如上面的download目录, 那么如何将Tomcat与这个目录联系起来呢? 需要做如下操作:

    其中E:\download是硬盘上创建的保存路径,需要在\Tomcat\conf\Catalina\localhost里创建一个download.xml文件,并映射该路径: <?xml version="1.0" encoding="UTF-8"?> <Context path="/download" docBase="E://download" crossContext="true"> </Context>

    这样执行上面的Python命令就可以生成对应的apk包的二维码了, 如果是Linux系统,也是类似的, 具体不详细说.

    6. 构建后操作:

    job_config_8.png

    <img src='http://localhost:8080/download/qrcode.png' width=200px height=200px> </img> <a href='http://localhost:8080/jenkins/job/job名/lastSuccessfulBuild/artifact/app/build/outputs/apk/app-develop-debug.apk'>下载连接</a>

    邮箱配置里的环境变量均已在全局系统配置里声明了, 否则也可以直接在这里写.

    参考文献:

    Jenkins+Tomcat + Gradle + Tinker + Walle + 360加固 + fir.im 持续集成,自动构建
    移动测试基础 使用 Jenkins 搭建 iOS/Android 持续集成打包平台 (开箱即用)
    Jenkins进阶系列之——04Publish Over FTP Plugin插件
    Jenkins+Gradle实现android开发持续集成问题汇总
    Android Jenkins+Git+Gradle持续集成-实在太详细
    Jenkins中配置多项目SCM
    Jenkins可用环境变量列表以及环境变量的使用(Shell/Command/Maven/Ant)
    Jenkins自动打包配置
    Android-解放双手告别测试-使用Jenkins自动化打包

    相关文章

      网友评论

        本文标题:Jenkins自动化构建

        本文链接:https://www.haomeiwen.com/subject/fjfvjftx.html