• Android持续集成之Jenkins 部署


    Android持续集成之Jenkins 部署

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    转载请表明出处:http://www.cnblogs.com/cavalier-/p/7482878.html

    0x00安装

    准备工作如下:
    Tomcat8.5下载地址
    Jenkins下载链接

    • 1 将下载的jenkins.war包放至tomcat下的webapps目录

    • 2 浏览器直接访问如下链接即可

      ip:tomcatPort/jenkins/

    • 3 看到如下页面后,按照上面的提示,需要输入默认生成的管理员密码,在终端中输入如下命令

      cat /var/root/.jenkins/secrets/initialAdminPassword 
      
    • 将终端中输出的密码填入输入框,随后点击Continue按钮

    ![屏幕快照 2017-08-17 上午9.51.23](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午9.51.23.png)

    • 重点来了,Jenkins最强大的特点就是插件,点击上图的Continue后,会进入下面的页面
      ![屏幕快照 2017-08-17 上午9.57.25](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午9.57.25.png)

    • 这里默认选择第一项即可(有的插件不一定能安装成功,但并不影响Jenkins使用),点击后进入如下自动安装界面
      ![屏幕快照 2017-08-17 上午10.02.49](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午10.02.49.png)

    • 这里有可能出现下面这种情况,解决方法要么就retry一下,要么就Continue继续下一步(建议下一步,少装一个不影响使用)
      ![屏幕快照 2017-08-17 上午10.08.19](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午10.08.19.png)

    • 来到下一步是创建admin用户,可以跳过点击
      Continue as admin,也可以创建一个Admin用户(这里推荐创建一个用户,因为后期创建很麻烦)随后点击
      Save and Finish,结束安装
      ![屏幕快照 2017-08-17 上午10.25.27](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午10.25.27.png)

    0x01配置Jenkins

    Global Tool Configuration

    • 点击左侧菜单中的系统管理,再点击列表中的
      Global Tool Configuration选项,进入Global Tool Configuration配置页面
      WechatIMG24

    • JDK模块:
      需要将自动安装选项去掉,随后填入:别名<随意填>、JAVA_HOME<填写本地的JAVA绝对路径>

    • Git模块:
      别名<随意填>、Path to Git executable<填入本地Git的绝对路径>

    • Gradle模块:
      点击新增Gradle,随后去掉自动安装选项,然后填入:别名<随意填>、GRADLE_HOME<填入本地Gradle的绝对路径>,这里建议配置多个,因为或许你所部署的工程需要不同的Gradle进行编译。

    • 最后点击最下边的Save按钮即可

    系统属性

    *点击左侧

    ```按钮,在列表中选择
    ```系统设置
    ```如下图所示:
    ![WechatIMG25](http://oupvrckn2.bkt.clouddn.com/WechatIMG25.jpeg)
    *把环境变量选项勾上
    ![WechatIMG26](http://oupvrckn2.bkt.clouddn.com/WechatIMG26.jpeg)
    
    * 在里面的
    ```键```中填入```ANDROID_HOME```,```值``` 中填入你的Android Sdk路径
    
    *最后点击最下边的Save按钮进行保存配置,此举是为了避免在打包时发生
    ```ANDROID_HOME not found```的情况
    
    ##0x02新建一个任务
    *在主页中找到创建一个新任务的按钮,如下图所示
    
    ![WechatIMG27](http://oupvrckn2.bkt.clouddn.com/WechatIMG27.jpeg)
    
    * 输入任务名字后,选择
    ```构建一个自由风格的软件项目```    ,点击底部的 OK 按钮
    
    * 打开的页面中,点击源码管理模块中的 Git 选项,由于我使用oschina的Git库且使用https协议,所以我这里填入仓库的克隆地址
    * 点击 ad 按钮,使用默认配置,填入用户名密码即可,如下图所示:
    
    ![屏幕快照 2017-08-17 上午11.29.24](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午11.29.24.png)
    
    * 点击 add 按钮后,下面的分支也可以填入其他分支名
    
    * 随后点击构建 Tab滚动到最底部,选择
    ```增加构建步骤```,选择```Invoke Gradle script```,然后在 ```Gradle Version```这里选择你需要使用的版本
    
    * 最后点击保存按钮,进入项目界面
    
    ##0x03构建项目
    * 在项目界面最左侧菜单中,点击
    ```立即构建```按钮
    * 此时在左侧的历史菜单可以看到正在编译的任务,点击进去可以看到详情
    * 左侧的菜单中 ```Console Output```点击后可以看到控制台的输出
    
    ##0x04按时打包
    * 在项目界面最左侧菜单中,点击配置,滑动到```构建出发器```,这里对里面的几个选项说明如下: 
    
    类型 | 描述
    --------- | -------------
    Build periodically | 定期进行构建
    Build when a change is pushed to GitHub | 根据提交进行构建
    Poll SCM|定期检测代码更新,如有更新则进行构建
    
    * 定时器(Schedule)的格式,简述如下:
    
    ```MINUTE HOUR DOM MONTH DOW```
    
    Type | Description | Range
    --------- | :--------- | :---------:
    MINUTE | Minutes within the hour | 0-59
    HOUR | The hour of the day | 0-23
    DOM | The day of the month | 1-31
    MONTH | The month  | 1-12
    DOW | The day of the week,where 0 and 7 are Sunday | 0-7  
    
    通常情况下需要指定多个值,这时可以采用如下operator(优先级从上到下):
    `*`适配所有有效的值,若不指定某一项,则以`*`占位;
    ```M-N```适配值域范围,例如7-9代表7/8/9均满足;
    `M-N/X`或`*/X`:以X作为间隔;
    
    * 为了避免在多任务在同一个时刻触发构建时,最好配合`H`字符进行描述。
    * 关于上面的定时器这里举个例子:
        1. H 23 * * 1-5:工作日每晚23:00至23:59之间的某一时刻;
     
    ## 0x05 总结
    以上是利用Jenkins持续集成的部署方式之一,欢迎支持。
  • 相关阅读:
    [CareerCup] 1.4 Replace Spaces 替换空格
    [CareerCup] 1.3 Permutation String 字符串的排列
    Android @1x,@2x,@3x 资源文件自动分包工具
    Android 使用xml实现边框阴影,背景渐变效果(附有RGB颜色查询对照表)
    Android中快速实现自定义字体!
    Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.
    Android getRunningTasks和getRunningAppProcesses失效
    Android 实现朋友圈有图片和视频
    Android 仿微信朋友圈拍小视频上传到服务器
    Android setUserVisibleHint-- fragment真正的onResume和onPause方法
  • 原文地址:https://www.cnblogs.com/cavalier-/p/7482878.html
Copyright © 2020-2023  润新知