android自动化打包shell,Mac)Android自动打包(Jenkins+Gradle)

准备环境

配置Android ADB环境

关于Android整个开发环境的搭建,SDK的下载安装这里就不赘述了,配置adb环境可以参考、

这里查看adb是否配置成功可以在终端输入

copy adb version

显示以下信息则证明配置成功

copy Android Debug Bridge version 1.0.41

Version 28.0.3-5475833

Installed as /Users/vic/Library/Android/sdk/platform-tools/adb

配置Gradle环境

配置gradle环境可以看一下我之前写的这篇文章Mac 配置gradle环境变量.

这里查看gradle是否配置成功可以在终端输入

copy gradle -version

显示如下信息则表示配置成功

3a3893e485556a0f0090df9f5db86d28.png

下载安装Jenkins

这里有两种方法可以用。参考Mac下Jenkins搭建

Jenkins环境变量的配置

左侧系统管理->系统设置,进入系统设置页面

全局属性下的环境变量,添加键值对

5d76273e82c2683fb2873e37ab6d1fec.png

左侧系统管理->全局工具设置,进入全局工具设置页面

1. JDK

JDK installations一栏里面点击Add JDK,Name随便取,不过最好对应好版本号;JAVE_HOME就设置为当前Mac下Java的安装路径。当然也可以设置成自动安装

eb3e0d0bb958a62650f6f2e1b73c6603.png

2. Gradle

gradle配置:一样名字最好跟着版本号,GRADLE_HOME就设置为gradle的安装目录

18990b292996b529241b23e36f4af8fc.png

项目配置

构建一个自由风格的软件项目

点击左侧菜单中的新建任务,然后在新的界面输入项目名字,选择构建一个自由风格的软件项目选项完成创建

884dc63578aee40cd89e877f4bc87c5f.png

项目基本配置

点击左边的配置,从上到下一共6个tab,我们去一一配置自己想要的功能:

General

描述里面我们可以写工程简介

“This project is parameterized”参数化构建

635b2e9b46e08f02a427d9c6597dd2ed.png

“Discard old builds”丢弃旧的仓库

02fba7ba69f17f43beb96c0c9ff696ad.png

源码管理

源码管理,使用github选择git,使用svn选择subversion

0f20949ede19123e61e9a99162d53e1a.png

点击add以后,进入选择身份验证的页面,没有ssh key的,选择用户名和密码,有ssh key的选择ssh验证(注意,这里填写的是private key,id_rsa文件中的key,不是id_rsa.pub中的key),填写完成后,点击add即可完成身份验证的添加。然后选择对应的身份验证

4128d506467b9a332188787d94849817.png

项目的分支,填写你需要的分支

构建触发器

选择Build periodically,输入:

copy H 2 * * *

周期性的执行编译任务,强制每天凌晨两点构建一次

0ceac883282123bc2b757bae5b49b357.png

选择Poll SCM,输入

copy H/5 * * * *

表示的就是每5分钟检查一次源码变化。

06e9761aa34c67518c16bb175f77c4be.png

> 第一个参数代表的是分钟 minute,取值 0~59;

> 第二个参数代表的是小时 hour,取值 0~23;

> 第三个参数代表的是天 day,取值 1~31;

> 第四个参数代表的是月 month,取值 1~12;

> 最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

构建环境

这里可以设置一些项目信息,比如在构建之前删除工作目录,设置构建名称等等。。。(但是我没有设置)

构建

71879f6febaf26de0c86bcdd602f3a24.png

增加构建步骤,选择Invoke Gradle script(编译)

749600f5ec61e5f42fd3163d16da0924.png

Gradle选择你配置的版本

Task中填写构建执行的语句(注意:不要选择Use Gradle Wrapper),一般要填写“clean assembleRelease”。先clean再build

copy clean

assembleReleaseChannels -PchannelFile=markets.txt

在Root Build script中输入你想要包生成的位置,在Build File中输入项目的build.gradle的路径。即在Root Build script路径的后边加/build.gradle,可以不输入这两项,项目会有个默认构建地址,具体地址可以再jenkins的系统管理中查看。

继续添加构建步骤,选择“Execute shell”,在command中填入(上传蒲公英)

copy ./gitswitch dev/ci

cd Source

filepath=`pwd`/app/build/outputs/channels/*pgy*.apk

file=`ls $filepath`

if [ $uploadPgy = true ]

then

curl -F "installType=2" -F "password=alpha" -F "file=@$file" -F "uKey=542e73b113b5908da8b028805bf7e837" -F "_api_key=8e860ee5ba4996f9b19e56c28e07846a" https://qiniu-storage.pgyer.com/apiv1/app/upload

fi

构建后操作

Archive the artifacts(归档成品),输入内容

copy **/app/build/outputs/channels/*.apk, **/apk-checker-result.*

上传蒲公英

增加一个构建步骤,选择Execute shell,在command中填入

copy ./gitswitch dev/ci

cd Source

filepath=`pwd`/app/build/outputs/channels/*pgy*.apk

file=`ls $filepath`

if [ $uploadPgy = true ]

then

curl -F "installType=2" -F "password=alpha" -F "file=@$file" -F "uKey=542e73b113b5908da8b028805bf7e837" -F "_api_key=8e860ee5ba4996f9b19e56c28e07846a" https://qiniu-storage.pgyer.com/apiv1/app/upload

fi

调试

构建历史->控制台输出,可以查看构建日志,根据报错来具体定位问题

71e03c6e35c152323ebf4cca4eaefae3.png

fbf49f8b725194d2a197efff7af2434d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值