准备条件

  • 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. iOS使用TestFlight进行内部和外部人员测试

    前言 在iOS 8中,苹果发布了一个叫做TestFlight的新玩意,用于将Beta测试流水化.此前你可能听说过这个东西,因为TestFlight作为一个独立的测试平台已经有些年头了.被苹果收购之后用 ...

  2. HBuilder 做移动端app流程

    1.新建一个移动项目 2.编写代码 3.发行-发行为原生安装包,配置参数 选择icon 和引导页

  3. CDN加速服务

    CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用.与将JS库存放在服务器单机上相比,CDN公共库更加稳定.高速.一般的CDN公共库都会包含全球所有最流行的开源JavaScrip ...

  4. Linux Centos7.2 编译安装PHP7.0.2

    操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...

  5. java uuid第一次性能

    在java中产生uuid的方式是使用java.util.UUID. UUID.randomUUID().toString(); 我在测试redis性能时,使用uuid产生测试数据,发现多线程测试red ...

  6. CentOS-语言设置

    查看所有的locale语言 # locale -a # locale -a|grep en 查看当前操作系统使用的语言 # echo $LANG 设置系统locale语言为中文环境(永久生效) # v ...

  7. 检查EXE、DLL、SYS等文件是32位还是64位的

    非.NET文件用:dumpbin.exe /headers file.exe(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin) . ...

  8. UVA 11468 Substring (AC自动机)

    用把失配边也加到正常边以后AC自动机,状态是长度递减的DAG,每次选一个不会匹配字符的转移. dp[u][L]表示当前在tire树上u结点长度还剩L时候不匹配的概率,根据全概率公式跑记忆化搜索. #i ...

  9. 最全面的 python 字符串拼接总结(带注释版)

    在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅. 加号连接 第一种,通过+号的形式: >>> a, b = 'hello', ' wor ...

  10. python_97_类的继承2

    # 经典类与新式类差别主要体现在多继承上 #多继承是从左到有 class People():#经典类 #class People(object):#新式类 def __init__(self,name ...