Linux中配置Jenkins集成Android项目

工具安装

  1. 安装JDK

  2. 安装Git

  3. 安装android-sdk

  4. 安装Gradle(如果使用Gradle Wrapper则不需要提前安装)

  5. 安装Tomcat

  6. 安装Jenkins ver. 1.652和相关插件

    参考插件列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Android Emulator Plugin
    Ant Plugin
    Credentials Plugin
    CVS Plug-in
    Email Extension Plugin
    Email Extension Template Plugin
    External Monitor Job Type Plugin
    FindBugs Plug-in
    Git client plugin
    Git plugin
    Gradle Plugin
    Javadoc Plugin
    JUnit Plugin
    LDAP Plugin
    Mailer Plugin
    Matrix Authorization Strategy Plugin
    Matrix Project Plugin
    Maven Integration plugin
    OWASP Markup Formatter Plugin
    PAM Authentication plugin
    Port Allocator Plug-in
    Role-based Authorization Strategy
    SCM API Plugin
    Script Security Plugin
    SSH Credentials Plugin
    SSH Slaves plugin
    Static Analysis Utilities
    Subversion Plug-in
    Token Macro Plugin
    Translation Assistance plugin
    Windows Slaves Plugin
    WWPass Authentication Plugin

配置Jenkins

系统管理 - 系统设置

Android SDK

Environment variables添加:

ANDROID_HOME /root/android-sdk/

JDK

JDK别名 jdk 1.8 JAVA_HOME /usr/lib/jvm/java-8-oracle/

Git

Git Name``Default Path to Git executable``git

Gradle

如果使用Gradle Wrapper则不需要配置Gradle

Gradle name gradle 2.10 GRADLE_HOME /root/gradle-2.10

Git仓库权限配置

将git仓库中配置可用的ssh密钥文件复制到主机~/.ssh目录下;或在主机上创建密钥并添加到git仓库中。

配置Jenkins项目

新建 - 输入名称 - 构建一个自由风格的软件项目

源码管理

选择git

  • Repository URL ssh://xxx.git

  • Branches to build develop

  • Additional Behaviours

    • Wipe out repository & force clone 每次Build先清除已有代码再用git clone重新拉取。debug不配置此项加快编译(一般没有必要),release配置此项(确保可靠性)
    • Advanced sub-modules behaviours:Recursively update submodules 递归更新子模块

构建

构建 - 增加构建步骤

Invoke Gradle Script

  • 选择Use Gradle Wrapper;如果需要使用特定版本的Gradle,则使用Invoke Gradle 并选择Gradle-2.10
  • Tasks clean assembleDebug
  • Root Build script 输入工程根目录(settings.gradle所在目录)相对git项目根目录的路径

Execute shell

执行Shell脚本,例如将生成的apk上传到指定位置。Shell脚本中可以支持BUILD_NUMBER等变量。

构建后操作

Publish FindBugs analysis results

FindBugs results Proj/build/reports/findbugs/*.xml

Archive the artifacts

将编译过程中生成的文件存档,例如apk文件、Proguard生成的mapping文件等。

Editable Email Notification

发送邮件通知

  • Project Recipient List [email protected],[email protected]
  • Project Reply-To List $DEFAULT_REPLYTO
  • Content Type HTML
  • Default Subject $DEFAULT_SUBJECT
  • Default Content xxx
  • Attachments Proj/build/outputs/apk/proj-debug-${BUILD_NUMBER}.apk
  • Attach Build Log Attach Build Log