准备条件

  • iMAC,非必须(如果是 安卓 和 苹果 可以在同一台电脑上打包则要 Mac OS 系统的电脑,如果是只是给安卓打包 windows 电脑也是可以的, window 下 需要把 ls 换成 dir ,grep 换成 findstr)
  • Android studio 最新版,生成一个空白项目(主要是要安卓对应的 sdk,如果遇到 jenkins 打包出错,请看错误日志的原因,我这里遇到一个没有安装对应的 sdk,只需要用 ide 安装对应版本的就 ok)
  • jenkins (安装步骤百度一下,然后进入 jenkins 时安装推荐的插件,系统配置 -> 全局属性 -> 环境变量 增加 ANDROID_HOME:/Users/xxx/Library/Android/sdk)
  • git 命令行工具(拉取代码使用,全局环境变量)
  • gitlab 代码仓库(项目的代码仓库)

任务配置

1. jenkins 新建自由风格的项目

2. 源码管理,使用 账号 和 密码拉取代码(有可能会提示无法获取,你可以重启 jenkins 试试,如果还不行,重启电脑,如果还不行,自行解决)

3. 构建触发器

H/5 * * * *(每五分钟检查一次)

4. 构建环境

jenkins 插件管理手动安装一个插件 changelog-environment.hpi,该插件用来获取 commit 信息,到时候会提交到 蒲公英的构建版本的描述里面  (下载链接:https://pan.baidu.com/s/1jDPuW_q3wmfv5mFcnwBOhA 提取码:oxuy )

%3$s(at %4$s via %1$s) . 

yyyy-MM-dd HH:mm:ss

5. 构建

clean
assembleyybRelease (这条命令因项目有点不同,不过开头都是 assemble)

###### APK_DIR 因项目有点不同, window 下 需要把 ls 换成 dir ,grep 换成 findstr

apiKey="xxx"
APK_DIR="$WORKSPACE/app/build/outputs/apk/yyb/release"
APK_PATH=`ls ${APK_DIR}|grep .apk`
echo "${SCM_CHANGELOG}"
curl -F "file=@${APK_DIR}/${APK_PATH}" -F "_api_key=${apiKey}" -F "buildUpdateDescription=${SCM_CHANGELOG}" https://www.pgyer.com/apiv2/app/uploa

6. 构建后操作

归档成成品填 **

邮箱的地址只需要填写邮箱即可

jenkins 之 Android 打包及上传至蒲公英的更多相关文章

  1. jenkins 之 iOS 打包及上传至蒲公英

    准备条件 iMAC(要 Mac OS 系统,安卓 和 苹果 可以在同一台电脑上打包) xcode 最新版,要已安装对应的开发证书(生成一个 Ad-Hoc 类型的包就有了) brew(当前管理员账户安装 ...

  2. Android Studio如何配置CURL指令一键打包apk上传至蒲公英

    Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...

  3. jenkins+svn完整打包并上传到linux服务器上

    因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...

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

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

  5. jenkins进行andriod打包,上传蒲公英

    环境:macos jenkins sdk gradle 1.构建操作注意: mac电脑上 选择invoke gradle task数值是:clean 2.再创建一个task 然后进行gradle加参数 ...

  6. Android之mtk上传log

    Android之mtk上传log 1,打开浏览器 2.输入地址http://eservice.mediatek.com/eservice-portal/login 3.输入用户名,密码 4.提eser ...

  7. 打包新版本上传到AppStore时报错 ERROR ITMS-90034:

    今天打包新版本上传到AppStore时报错 ERROR ITMS-90034:"Missing or invalid signature.The bundle'com.xxx.xxx' at ...

  8. 使用.NET框架、Web service实现Android的文件上传(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...

  9. 利用WCF与Android实现图片上传并传参

    利用WCF与Android实现图片上传并传参 最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想 ...

随机推荐

  1. MyBatis学习总结(三)---映射文件及引入方式

    MyBatis的强大,主要原于它强大映射功能,相对其它的jdbc,使用MyBatis,你会发现省掉很多代码.上一篇已经简单做出一个实例.今天就了解一下MyBatis的映射xml文件. 了解上一篇fri ...

  2. NOPI Excel 读取公式生成后的数据

    using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using S ...

  3. 如何设置FusionCharts图片导出格式

    通过设置FusionCharts的<chart exportEnabled='1' ...>属性,就可以导出图表,图表的右键菜单将会显示所有可能导出的格式- JPEG, PNG and P ...

  4. Android ORM对象关系映射之GreenDAO建立多表关联

    https://blog.csdn.net/u010687392/article/details/48496299 利用GreenDAO可以非常方便的建立多张表之间的关联 一对一关联 通常我们在操作数 ...

  5. JFinal视频教程-JFnal学院分享课

    最近JFinal学院出了JFinal视频教程分享课,请笑纳~ 课程列表: 1.[JFinal版]微信小程序富文本渲染解决方案-html2wxml4J分享课 这个课程主要讲的是使用基于JFinal开发的 ...

  6. 如何在Sierra运行 Specials K 的patch

    https://github.com/ApolloZhu/CORE-Keygen-and-Special-K-for-Sierra-Utility/blob/master/Special%20K%20 ...

  7. ASP.NET WebForm & MongoDB

    ASP.NET WebForm & MongoDB 最近在朋友介绍下,也跟着看AngularJS 买了一本三合一的书,Node.JS+MongoDB+AngularJS http://www. ...

  8. codeforce Gym 100500H ICPC Quest (简单dp)

    题意:给一个nXm的矩阵,上面有一些数字,从左上角出发,每次只能往右或者往下,把沿途的数字加起来,求到达右下角的最大值是多少. 题解:简单的一个dp,设f[i][j]为到达i行j列的最大值,f[i][ ...

  9. Android(java)学习笔记108:Android的Junit调试

    1. Android的Junit调试: 编写android应用的时候,往往我们需要编写一些业务逻辑实现类,但是我们可能不能明确这个业务逻辑是否可以成功实现,特别是逻辑代码体十分巨大的时候,我们不可能一 ...

  10. mangoDB笔记

    1.  查询 db.表.find().pretty() find(querry,project) pretty()格式化显示 findOne()  返回一条结果 比较 db.Decl_In.find( ...