关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录

(本篇文章需要对Jenkins有最基本的基础了解)

博主所在公司曾负责app测试过程中发生过事故,测试环境和预发布环境测试通过后,开发再打包正式环境apk时,忘记修改部分配置参数

导致上线后,app各种功能故障,龙颜大怒,紧急重新发版。

 好处:1、服务器自动打包,想什么时候要就什么时候要,不局限于开发是否有空

    2、打包发版转交给测试进行实施,安全闭环进一步锁牢,风险降低

    3、持续集成,可配置相关UI自动化脚本形成持续集成,高大上

    4、自我提升,可拓展性无限放大

    5、。。。

打包过程:

源码管理》》构建环境》》Gradle构建》》自定义后续操作》》构建后操作

解析:首先将git仓库的代码拉下来,通过gradle配置打包参数,然后将生成的apk用于后续拓展,博主是将apk上传至蒲公英,在蒲公英生成一个下载链接和下载二维码

再将下载链接和二维码通过钉钉机器人发送到钉钉群里,

效果图:

1、建立一个自由风格的Jenkins项目:

2、源码管理

Android开发将代码集中管理于git仓库,实行打包的第一步就是需要将源码拉下来

在源码管理模块:输入 git的地址、添加拥有权限的账号

$git_branch 参数   自定义打包时git分支

3、构建环境

4、构建

4.1、 添加Gradle 环境  设置打包apk参数

gradle配置打包参数常规的参数:

${VERSION_NAME} 版本名称:如V1.1.0  字符型     Jenkins字符参数

${VERSION_CODE} 主要用于上传应用市场后提示升级:如 1  整型  Jenkins字符参数

${API_ENVIRONMENT} 渠道包参数:如 测试环境(test)、预发布环境(pre)、正式环境(pro)  Jenkins选项参数

########:其实基于以上就能拿到打包的apk文件,但为了后续的方便,便上传至蒲公英,这样可以拿到下载链接和下载二维码

4.2、上传至蒲公英:

蒲公英的key值需要自己去申请,下面分别是上传的路径的apk包

蒲公英会返回一些自己的参数,如下载地址:${appShortcutUrl}、二维码:${appQRCodeURL}  需要什么需要自己去查询

查看日志可查询到参数:蒲公英所有参数如下

4.3、将下载链接和二维码图片通过顶顶机器人发送至钉钉群

增加构建步骤,执行shell 。xxxxxxxxxxxx为钉钉机器人token

钉钉机器人开发者文档快速通道:https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq

curl -H "Content-type: application/json" -X POST -d '{"msgtype": "text","text": {"content": "下载链接:'"https://www.pgyer.com/${appShortcutUrl}"'"},}' https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
curl -H "Content-type: application/json" -X POST -d '{"msgtype": "markdown","markdown": {"title":"下载二维码","text":"![screenshot]('${appQRCodeURL}')"},}' https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

5、构建后操作

Android Jenkins自动打包纪录的更多相关文章

  1. Jenkins自动打包配置

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...

  2. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  3. Android ant自动打包脚本:自动替换友盟渠道、版本号、包名

    本文最后修改时间:2014-3-10 Android项目开发时,给公司人员安装,频繁升级,版本号总需要改,太麻烦,跟着时间变,自动升级才方便. Android项目开发新版时,手机上可能要装两个版本,一 ...

  4. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

  5. [iOS开发] 使用Jenkins自动打包并上传至蒲公英

    设置构建触发器 Poll SCM H/2 * * * * 设置 构建脚本 # #xodebuild & jenkins 自动构建并上传至pgyer.com #2017年5月9日 # #定义一些 ...

  6. Jenkins自动打包相关操作

    Jenkins安装 Jenkins作为一个开源的集成工具,不仅可以用来进行android打包 ,也可以用来进行ios java 服务打包 官方地址https://jenkins.io/ 选择对应的系统 ...

  7. Android Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  8. Android ant自动打包 crunch 报错

    解决办法: 修改SDK_HOME/tool/ant/build.xml. <property name="aapt.ignore.assets" value="&l ...

  9. jenkins自动打包部署项目

    首先去jenkins的官网下载安装包 https://jenkins.io/   个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包: 点击进行安装,然后一直点击下一步. jenkins会 ...

随机推荐

  1. Mybatis 动态sql(转载)

    原文地址:http://www.cnblogs.com/dongying/p/4092662.html 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个 ...

  2. 一篇文章了解RPC框架原理

    1.RPC框架的概念 RPC(Remote Procedure Call)–远程过程调用,通过网络通信调用不同的服务,共同支撑一个软件系统,微服务实现的基石技术.使用RPC可以解耦系统,方便维护,同时 ...

  3. bash: ipconfig: command not found

    问题描述: [root@localhost ~]# ipconfig-bash: ipconfig: command not found[root@localhost ~]# 解决方法一: cd /e ...

  4. thinkphp之session操作

    原理机制 配置部分 代码部分 助手函数 借助第三方介质存入session 从负载均衡角度考虑----最好放在memocache,redis

  5. 【curl】cookie的分隔符

    cookie是以分号作为分隔符的. ex: curl --silent -H "Host: xxx.com" "172.172.178.9:80/item/comm?pi ...

  6. leaflet 地图容器大小改变时,地图自适应新容器

    window.onload = function () { changeDivHeight(); } //当浏览器窗口大小改变时,设置显示内容的高度 window.onresize = functio ...

  7. 使用jquery给html标签加点击事件

    //直接给所有img标签绑定click事件 $("img").click(function(){ alert('你点击了图片'); }) //使用bind方法绑定click事件 $ ...

  8. windows 环境如何启动 redis ?

    1.cd 到 redis 的安装目录 C:\Users\dell>cd C:\redis 2.执行 redis 启动命令 C:\redis>redis-server.exe redis.w ...

  9. Linux基础教程 linux系统中的批量删除文件与空文件删除的命令介绍

    linux下面删除文件或者目录命令rm(remove): 兄弟连Linux培训 功能说明:删除文件或目录. 语 法:rm[-dfirv][--help][--version][文件或目录...] 补充 ...

  10. 【Dart学习】-- Dart之消息循环机制[翻译]

    概述 异步任务在Dart中随处可见,例如许多库的方法调用都会返回Future对象来实现异步处理,我们也可以注册Handler来响应一些事件,如:鼠标点击事件,I/O流结束和定时器到期. 这篇文章主要介 ...