jenkins 之 Android 打包及上传至蒲公英
准备条件
- 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 打包及上传至蒲公英的更多相关文章
- jenkins 之 iOS 打包及上传至蒲公英
准备条件 iMAC(要 Mac OS 系统,安卓 和 苹果 可以在同一台电脑上打包) xcode 最新版,要已安装对应的开发证书(生成一个 Ad-Hoc 类型的包就有了) brew(当前管理员账户安装 ...
- Android Studio如何配置CURL指令一键打包apk上传至蒲公英
Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...
- jenkins+svn完整打包并上传到linux服务器上
因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...
- [iOS开发] 使用Jenkins自动打包并上传至蒲公英
设置构建触发器 Poll SCM H/2 * * * * 设置 构建脚本 # #xodebuild & jenkins 自动构建并上传至pgyer.com #2017年5月9日 # #定义一些 ...
- jenkins进行andriod打包,上传蒲公英
环境:macos jenkins sdk gradle 1.构建操作注意: mac电脑上 选择invoke gradle task数值是:clean 2.再创建一个task 然后进行gradle加参数 ...
- Android之mtk上传log
Android之mtk上传log 1,打开浏览器 2.输入地址http://eservice.mediatek.com/eservice-portal/login 3.输入用户名,密码 4.提eser ...
- 打包新版本上传到AppStore时报错 ERROR ITMS-90034:
今天打包新版本上传到AppStore时报错 ERROR ITMS-90034:"Missing or invalid signature.The bundle'com.xxx.xxx' at ...
- 使用.NET框架、Web service实现Android的文件上传(二)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...
- 利用WCF与Android实现图片上传并传参
利用WCF与Android实现图片上传并传参 最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想 ...
随机推荐
- Mybatis 使用注解和Provider类实现动态条件查询
1.注解内拼写 Mybatis SQL 脚本 @Repository public interface CustomerFeedMapper extends BaseCrudMapper<Cus ...
- 小技巧:在向导式页面设计中使用hidden型输入可以避免session的使用
在向导式页面设计中使用hidden型输入可以避免session的使用,从而减小内存开支. 在表单中使用隐藏输入类型<input type="hidden" name=&quo ...
- js基础的自定义属性练习
js基础的自定义属性练习: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type ...
- Java连接数据库,增删改查
底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...
- windows server 2008 R2 的 FTP 防火墙的正确配置方法
存在问题 FTP搭建完成后,仅本机可以访问,其他机器无法访问. 解决方案 这时,将C:\Windows\System32\svchost.exe添加到例外即可正常访问,如下图所示.将20及21端口添加 ...
- UVA 10570 Meeting with Aliens 外星人聚会
题意:给你一个排列,每次可以交换两个整数(不一定要相邻),求最少交换次数把排列变成一个1~n的环形排列.(正反都算) 其实就是找环了,对于一个链状序列,最小交换次数等于不在对应位置的数字个数减去环的个 ...
- Linux 备份
备份之前的准备工作 安装常用的软件 常用软件的安装,见我另一篇blog Ubuntu 16.04 安装札记 的第四部分. 清理系统中没用的垃圾 至于垃圾清理,主要清理对象有 sudo rm -r ~/ ...
- Spark 集群环境搭建
思路: ①先在主机s0上安装Scala和Spark,然后复制到其它两台主机s1.s2 ②分别配置三台主机环境变量,并使用source命令使之立即生效 主机映射信息如下: 192.168.32.100 ...
- Git初始化仓库
Git global setup: git config --global user.name "再见理想" git config --global user.email &quo ...
- Python——函数入门(二)
一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用 ...