利用Jenkins搭建Android持续集成交付平台

Jenkins简单介绍
  • Jenkins官网,其安装配置过程在此不介绍
  • Jenkins是基于Java开发的一种持续集成工具,用户监控持续重复的工作
  • 持续的软件版本发布/测试项目
  • 监控外部调用执行的工作
360jiagu简单介绍
  • 360加固保官网
  • 免费!免费!!免费!!!
  • 移动市场如火如荼,应用安全也是每个公司非常重视的问题
  • 360作为国内甚至国际上优秀的互联网安全公司出品了自己的Android应用加固服务
  • 盗版监测,崩溃日志分析,应用升级,数据分析,消息推送也是加固保附带的功能

官网上加固助手只提供了PC和Mac版本,如果需要Linux版本的,请联系客服
我自己就是通过邮件的方式索取了Linux版本的加固助手,感谢360

fireline(火线)简单介绍
  • fireline官网
  • 提供静态代码检查相关功能,同样也是360旗下的产品
  • APP安全检查,代码规范检查,内存泄露检查,日志输出检查,空指针检查,多线程检查
  • 类似的产品还有FindBugs, Checkstyle, error-prone, PMD
蒲公英简单介绍
在Jenkins中使用360加固
  • 在Jenkins中打开项目设置
  • 构建操作中点击新增构建步骤,选择Execute shell
  • 在Command中输入以下内容:

    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
    # Java环境变量,请替换为本机实际路径
    JAVA_HOME="/opt/jdk/bin"

    # 加固保环境变量,请替换为本机实际路径
    JIAGU_HOME="/home/dafan/mount1/360jiagu/jiagu/jiagu"

    # 登录360所需要的账户名和密码,请替换为自己的账号密码
    USER="360账号"
    PSWD="360密码"

    # 签名相关信息,请替换为实际签名的信息
    release_keyAlias="签名别名"
    release_keyPassword="文件密码"
    release_storeFile="签名文件路径"
    release_storePassword="签名密码"

    # 登录360
    $JAVA_HOME/java -jar $JIAGU_HOME/jiagu.jar -login $USER $PSWD

    # 配置增强服务,可选:-update -x86 -carshlog,可多选,如下配置:
    $JAVA_HOME/java -jar $JIAGU_HOME/jiagu.jar -config -x86 -crashlog

    # 配置签名信息,用于加完完成后的自动重签名
    $JAVA_HOME/java -jar $JIAGU_HOME/jiagu.jar -importsign $release_storeFile $release_storePassword $release_keyAlias $release_keyPassword

    # 加固,支持通配符
    $JAVA_HOME/java -jar $JIAGU_HOME/jiagu.jar -jiagu ${PWD}/app/build/outputs/apk/*_release.apk ${PWD}/app/build/outputs/apk/ -autosign
    • 需要申请注册360账号
    • 加固过程会破坏应用原有签名,所以加固完成后需要重新签名
    • 注意替换上述脚本中的相关账号、密码和相关环境变量路径
将加固后的应用上传到蒲公英平台
  • 蒲公英官方提供了API上传的接口,却没有提供Jenkins插件
  • 使用官方提供的curl方法上传后获取应用二维码地址等相关信息是比较麻烦的
  • 鉴于此,我自己用Java写了一个上传框架,详细使用方法请点击upload-pgyer
  • 在上述Command的最后面接着输入以下内如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      # 上传到蒲公英的环境变量,请替换为本机真实路径
    PGYER_HOME="/home/dafan/mount1/pgyer"

    #上传到蒲公英平台,请替换蒲公英key和二维码下载路径
    $JAVA_HOME/java -jar $PGYER_HOME/upload-pgyer.jar \
    蒲公英uKey 蒲公英_api_key \
    ${PWD}/app/build/outputs/apk/*_release_*_jiagu_sign.apk \
    ${JENKINS_HOME}/jobs/${JOB_BASE_NAME}/builds/${BUILD_NUMBER}/archive/app/build/outputs/apk/qrcode_release_${branch}_${BUILD_NUMBER}.png \
    2 \
    ms666666
    • 注意替换你自己的相关路径
    • UploadPgyer.jar 目前支持单个*的文件路径通配
总结

此文只是针对Jenkins平台上Android使用加固和上传到蒲公英并将二维码下载到本地提供了些许思路,实践过程中根据不同的环境具体有不同的配置方法,请大家灵活运用。在具体的实践过程中,如果有不明白的地方可以微信扫描下方二维码加我好友,大家一起商量讨论。

坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文作者: Author
  • 本文链接: http://iamfan.cn/d98d/
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!