Jenkins+Gradle实现android开发 自动打包 上传蒲公英

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liudao7994/article/details/54177126

2018.7.30
今天一个ios哥们把项目不小心删了. 又配置一天.
可以使用Jenkins 的备份配置的插件 ThinBackup 可以用于备份jenkins备份. 用于还原jenkins配置
已备份 插件设置的第一个选项是备份的目录 找个空目录就行.

https://blog.csdn.net/tengdazhang770960436/article/details/62043154

直接进入正题. 目标: 实现 使用jenkins 自动打包 android 后上传蒲公英 让测试人员每次都下载最新的apk文件.

第一

下载jenkins 下载地址 https://jenkins.io/index.html 还有就是下载哪一个 我截图

这里写图片描述

我下载的是左边的那个 , 左边的貌似是稳定版版 右面貌似是安装 版. OK 下好以 后 是一个 jenkins.war 文件

( 顺便说下 我的电脑是WIN10 我是做android 的 android的环境 默认你们都装了 git . jdk 等等 )


下面开始安装

到下载的目录 CMD 下 运行java -jar jenkins.war. (注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%\bin加入到PATH环境变量中)

这里写图片描述

这就运行了,先要把他启动起来 然后

访问http://localhost:8080 , jenkins的主界面如下

这里写图片描述

注意一开始可能会让你装一些插件 你就选左边的就行 他会安装插件花一些时间,你得等一下 , 这里我遇到过有个插件一直装不上, 这时候我就关闭重新启动 后就给装上了. 这时候的主界面就和上图差不多 不过没有项目 这个时候你要点击 新建

这时候就是下图

这里写图片描述

要选择第一个 构建一个自由风格的软件项目 点击下面的OK

这里写图片描述

然后下一步 的样子 看图说话这里写图片描述


接下来就是填写git 的地址 线上的 我这里是github上的地址

这里写图片描述

下面就是添加用户名密码的界面!这里写图片描述


下面要给他加上去

这里写图片描述

下面构建触发器 我这里设置的是每5分钟就检查一次 只有当工程被提交后他才会编译 .

这里写图片描述

注意 格式必须是这样的 ## */5 * * * * 空格必须一样才行


接下来是构建 ##!这里写图片描述

上面的弄完 你就可以尝试 能不能保存后编译下试试了 看看能不能生成apk文件


接下来是上传蒲公英

这里写图片描述

在shell里面 加入如下语句

curl -F "file=@这里是你的APK文件位置" -F "uKey=蒲公英的key" -F "_api_key=蒲公英的api_KEY" https://www.pgyer.com/apiv1/app/upload

保存后出去就构建 估计你会构建失败 因为 是windows 你可能会出现如下错误

Total time: 17.14 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
[android] $ "C:\Program Files\Git\bin\sh.exe" -xe C:\Users\shinelon\AppData\Local\Temp\hudson4086462633077453278.sh
+ curl -F 'file=@{E:\workspace2\TinkerTest\app\build\outputs\apk\app-debug.apk}'
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
Build step 'Execute shell' marked build as failure
Finished: FAILURE

这是因为windows下没法执行shell命令. 这个时候去安装curl https://curl.haxx.se/download.html 这个是地址 我下载的是这个

这里写图片描述

下载后是个curl.exe 把他加入到系统变量 新建个系统变量CURL_HOME 值是你的curl.exe的位置. 然后把%CURL_HOME%加入PATH 中去. 这样就OK了 最后再 晒一下我成功上传的截图这里写图片描述

这里写图片描述

现在还没配置发送邮件 有空搞一下把

==============

下面实现远程实现构建!这里写图片描述

在这里 身份验证令牌上面写自己的 验证码 我这里写的是123456 然后在地址栏 输入 jenkins地址/job/job名称/build?token=口令&cause=书写构建原因 ,这是我的远程构建地址:

        http://localhost:8080/job/android/build?token=123456&cause="远程构建一次" 

=============分割线==========

说下MAC下的几个坑

第一个  配置环境变量.!! 网上很多代码了,但这些代码放在哪里取决与你使用的Shell启动时要激活那些文件,比如bash会激活~/.bashrc 所以你可以这些代码放追加到~/.bashrc中(没有则新建) 注意:网上的很多都是让你改.bashrc .bash_profile这些,这取决你用的shell,比如用的zsh的话则应该修改~/.zshrc  如果搞不清楚,就先将你的shell切换到bash吧:chsh -s which bash配置完成后,重新打开termal 敲入 adb version,如果能得到版本信息则OK了。 我遇到这个问题 第一次执行sorce 后当时可以, 但是之后重新打开一个命令行就不行了.就是这个问题

第二个 总提示 找不到 SDK 环境变量配置了也不行 貌似是用户的问题.
这个时候 需要在shell 命令下面加上 ANDROID_HOME 后面是你SDK的位置

第三个 总是提示权限不足 并且 无法执行gradle 还总冒出来个 gradw 这个问题 也是用户的问题 我各种环境变量都配置了 然而并不管用 这个时候 需要 在shell 命令下面加上 权限的东西; 或者直接使用gradle clean assemble(你自己的项目配置)

猜你喜欢

转载自blog.csdn.net/liudao7994/article/details/54177126