转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/77102359
本文出自【赵彦军的博客】

文章目录

  • 更新1 :brew 命令
  • 更新2:局域网访问
  • 1、Tomcat
  • 2、Jenkins 部署到 Tomcat
  • 3、填写 Jenkins 超级管理员密码
  • 4、Jenkins 插件安装和超级管理员配置
  • 5、创建任务
  • 6、项目仓库配置
  • 7、Jenkins 全局配置
  • 8、创建 Jenkins 构建任务
  • 9、执行构建任务
  • 10、构建结果
  • 11、构建后操作
    • 构建结果发布到 fir 平台
    • 构建结果通知钉钉
  • 12、构建触发器
  • 13、常用的jenkins 插件
    • Rebuilder
    • Upload to pgyer 蒲公英
    • Git Parameter

2021年五一结束了,继续投入战斗

更新:最近项目需要重新搭建了一次 Jenkins , 使用的机器的 MacOs ,在搭建的过程中,发现了一些不一样的操作,记录一下:

更新1 :brew 命令

macos 安装 Jenkins 和 CenterOS 不一样,macos 使用的命令行安装 ,使用 brew 命令
地址:https://www.jenkins.io/download/lts/macos/

使用的 brew 命令安装,所以在安装 jenkins 之前要确保你的机器上已经安装好了 brew 工具。
安装 brew 教程如下:
mac安装brew0-亲测 https://blog.csdn.net/yuanshangshenghuo/article/details/106599836

更新2:局域网访问

安装完成后,默认可以使用 http://localhost:8080/访问,别人是无法通过 ip 进行局域网访问的,解决如下:
【Jenkins】使用brew安装jenkins并配置局域网IP访问


正文如下

1、Tomcat

进入 https://tomcat.apache.org/ 官网,下载最新的 tomcat 安装包并且安装。

安装完成后,启动 tomcat 后,在浏览器中输入 http://localhost:8080/ , 如果看到下面的界面,那么tomcat 就安装配置好了。

2、Jenkins 部署到 Tomcat

进入jenkins 的官网 https://jenkins.io/ , 根据你搭建平台的不同,下载 jenkins war 包 ,我们这里用 windows 平台做演示。

war 包如下图所示

把 war 包放在 tomcat 的 webapps 目录下,如下图所示:

然后在浏览器中访问 : http://localhost:8080/jenkins/ , 你将会看到如下界面 , 代表 Jenkins 已经部署完成了,下一步安装 Jenkins.

3、填写 Jenkins 超级管理员密码

在上图的输入框内要输入超级管理员权限的密码,这个 密码在红色路径的文件里 ,输入密码后,点击 continue , 如下图所示:

4、Jenkins 插件安装和超级管理员配置

填写完密码后,将会看到插件安装界面

我们选择第一项,安装默认Jenkins插件。安装插件过程如下图所示:

等所有的插件都安装完成,我们将会看到用户名设置界面。

这个界面你有两个选择可以操作,

  • 选择一:直接点击 Continue as Admin 安装,默认此时的超级管理员为 admin .

  • 选择二:输入用户名,密码,确认密码,全名,电子邮件地址。然后点击 Save and Finish . 注意你输入的用户名就是 Jenkins 的超级管理员。需要注意的是,上面的每一项都需要填写,否则点击 Save and Finish 按钮没有效果。

等上面的步骤都操作完毕,你将会看到如下界面,代表 Jenkins 的插件安装和超级管理员已经配置好了。

5、创建任务

点击创建一个新的任务,如下图所示:

6、项目仓库配置

1、选择源码管理工具,Git 或者 Subversion . 下面我们的演示选择 Git.
2、填写 Git 仓库地址
3、选择 Git 证书凭证, 如果没有创建过证书,显示 none , 可以点击右边的 Add 按钮添加一个证书凭证。
4、添加证书凭证,添加的方法详见下面的图。
5、选择 Git 仓库的分支
6、源码浏览器,Git 有很多管理器,我们这里选择自动就好了。

  • 添加证书

从 Git 上拉取代码,有两种方式:用户名+密码、SSH . 根据自己的需要选择。

填写 Git 仓库的用户名和密码

7、Jenkins 全局配置

JDK 和 Gradle 配置

由于Android 是基于 java 的,我们需要配置 JDK;由于我们用 Gradle 构建Android 项目,我们需要设置 Gradle 的环境 。

在 系统管理 --> Global Tool Configuration

**Android SDK 配置 **

系统管理 --> 系统设置 – 全局属性

在 Environment variables 里面增加一个键值对.
键:ANDROID_HOME
值:SDK 路径

8、创建 Jenkins 构建任务

1、代表配置的项目
2、构建模块
3、选择 Gradle 构建工具的版本号,可以选择默认构建版本号,也可以选择自己自定的版本号。
4、填写 Gradle 构建任务

  • 打 release 包
app:clean
app:assembleRelease

解释:

app:clean : 清除....../app目录下的build文件夹
app:assembleRelease : 编译并打Release的包
  • 打 debug 包
app:clean
app:assembleDebug

解释:

app:clean : 清除....../app目录下的build文件夹
app:assembleDebug: 编译并打Debug的包
  • 同时打 debug 包和 release 包
app:clean
app:assembleDebug
app:assembleRelease

9、执行构建任务

点击立即构建按钮,开始执行构建任务。

- 【1】、点击立即构建,开始执行构建任务
- 【2】、进度条,表示正在构建的项目。
- 【3】、蓝色的图标表示构建成功
- 【4】、红色的图标表示构建失败

动图演示如下图所示:

点击正在构建的条目,可以进入正在构建的信息。

  • 状态集:构建人用户名、构建git 节点

  • 变更记录:

  • Console Output:构建过程中的输出控制台,会输出构建过程中的详细信息,这个功能很重要,如果构建失败,可以从这里找到错误的原因。

  • 编辑编译信息:每次构建任务的时候,构建名字是数字形式叠加,这里可以自定义构建任务的名字。

  • Git Build Data:本次构建 Git 仓库的相关信息。

10、构建结果

在 Console Output 面板中,出现了 BUILD SUCCESSFUL , 代表任务构建成功。

11、构建后操作

构建结果发布到 fir 平台

fir 是国内提供测试应用极速发布,应用崩溃实时分析、用户反馈收集等一系列开发测试效率工具服务,帮助开发者将更多精力放在产品的开发与应用的优化上。

官网: https://fir.im/

登录后,在 fir 官网的个人资料中, 可以找到 API Token , 这个 token 我们在后面会用到。

fir.im Jenkins 插件使用方法: http://blog.fir.im/jenkins/

下载插件

Jenkins 构建完成后,生成的 apk 文件,我们通过插件的方式上传到 fir . 通过上面的连接,我们下载 Jenkins 的 fir 插件到本地。

安装插件

系统管理 --> 插件管理 --> 高级 --> 上传插件

使用插件

配置 --> 构建后操作 --> 增加构建后操作步骤 --> Upload to fir.im

填写 API Token

构建结果

通过日志看到上传 fir 成功。

构建结果通知钉钉

钉钉,阿里巴巴出品,专为中国企业打造的免费智能移动办公平台。

  • 第一步:创建钉钉群聊机器人

选择自定义机器人

点击添加

输入机器人的名字

复制 Hook 地址

  • 第二步:Jenkins 后台添加钉钉插件

  • 第三步:添加构建后操作

  • 第四步:添加钉钉插件参数

总结

到这里关于 Jenkins 的自动化打包的主要内容已经介绍完了。下面将会介绍一些附加的操作,能够更好的使用 Jenkins .

12、构建触发器

在上面部分我们发起构建的命令是点击 立即构建 的按钮,Jenkins 里面有构建触发器的方式,提供远程构建任务。

  • 1、触发远程构建 (例如,使用脚本):填入身份验证令牌,可以随便填写,我们这里填入 123456 , 填写完成后,在输入框的下方有提醒
Use the following URL to trigger build remotely: JENKINS_URL/job/AppTest/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAME
Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.

根据提示,我们自浏览器中访问地址: http://127.0.0.1:9999/jenkins/job/AppTest/build?token=123456 , 这样就可以触发构建任务。

  • 2、Build after other projects are built : 在其他任务结束后,开始本次构建任务。

示例:在 AppTest1 项目构建成功后,开始本次构建任务。

①Trigger only if build is stable:其他项目构建成功
②Trigger even if the build is unstable:其他项目不稳定
③Trigger even if the build fails:其他项目构建失败

  • Build periodically:周期进行构建(它不关心源码是否发生变化)

日程表:

H 2  * * *  //每天凌晨2天构建H 16  * * *   //每天下午4点构建,16 代表下午4点0 16 15 * *  //每个月15号下午4点构建,15代表天,16代表下午4点,0代表0分钟H 6,12,18 * * *  //每天的 6时,12时,下午6时构建15,30,45 * * * * //每个小时 15分,30分,45分 发起构建* * * 1,3,5,7,9 * //每年的1, 3,5,7,9 月发起构建

示例:

注意

1、在日程表中,# 可以代表注释,但是需要单独写一行。

2、官方日程表语法:https://en.wikipedia.org/wiki/Cron#CRON_expression

3、日程表的语法字段遵循cron的语法(略有不同)。 具体来说,每行由5个由TAB或空格分隔的字段组成:MINUTE HOUR DAY MONTH WEEK

4、时间顺序和: MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), DAY OF THE WEEK (0-7)

其他的日程表:

30 08 * * 1-6  //周一至周六 早上08:30开始构建,最后一个字段是 WEEK ,1-6 代表周一到周五,0 代表周日00 0,12 * * 0-5 //周日到周五,每天建成两次,中午12:00和午夜00:00H 16 * * 1-5 //工作日 下午4点左右开始每天开始建设,构建时间 16:00 -16:59,具体的时间取决于项目哈希:
  • GitHub hook trigger for GITScm polling:hookplugin 检测到源码的 push 操作触发构建 , 感觉Poll SCM 更方便些,如果提交频繁,则这个触发就会频繁,看业务需要设置。

  • Poll SCM : 定时检查源码变更(根据SCM软件的版本号),如果有更新就 checkout 最新code下来,然后执行构建动作。

日程表示例:

H/5 * * * *  //每5分钟检查一次H/60 * * * * //每1个小时检查一次H H/2 * * *  //每2个小时检查一次H * H/10 * * //每10天检查一次H * * H/3 *  //每3个月检查一次H * * * 1  //每一周检查一次

示例:

13、常用的jenkins 插件

Rebuilder

功能说明:此插件可以直接重复上次构建,也可以用于查看一些参数比较复杂的构建时,上次构建所选的参数是什么。非常nice的一个插件。

地址:https://plugins.jenkins.io/rebuild/

Upload to pgyer 蒲公英

地址:https://plugins.jenkins.io/upload-pgyer/

Git Parameter

地址:https://plugins.jenkins.io/git-parameter/


个人微信号:zhaoyanjun125 , 欢迎关注
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1T6dlIuH-1620476426908)(http://o7rvuansr.bkt.clouddn.com/weixin200.jpg)]

Jenkins实现Android自动化打包相关推荐

  1. android 自动打包脚本,Jenkins实现Android自动化打包

    1.Tomcat 进入 https://tomcat.apache.org/ 官网,下载最新的 tomcat 安装包并且安装. 安装完成后,启动 tomcat 后,在浏览器中输入 http://loc ...

  2. Android自动化打包工具,利用Jenkins实现Android自动化打包

    Jenkins简介 What is Jenkins? Jenkins is a self-contained, open source automation server which can be u ...

  3. Centos配置Jenkins实现Android自动打包并上传到蒲公英

    本篇文章来自 徐永红  的投稿,给大家讲解Centos配置Jenkins实现Android自动打包并上传到蒲公英,希望对大家有所帮助. 徐永红 的博客地址: https://xuyonghong.cn ...

  4. android aapt关闭检测,Android自动化打包之一:aapt的用法

    Android自动化打包之一:aapt的用法 发表于:2012-05-11来源:无线测试作者:千里之外点击数: 什么是aapt? 执行命令: C:\Users\Xiaopengaapt Android ...

  5. android自动发布,Jenkins + Android 自动化打包 发布到蒲公英

    写在前面 近期Android的小伙伴们也开始要发测试版本了,由于之前搭建了Jenkins + fastlane自动化打包iOS应用 ,所以这次就想一起解决Android的问题 最先想到的方案当然就是跟 ...

  6. Android Jenkins + gradle 实现自动化打包流程并上传至蒲公英平台全过程

    最近在windows上尝试了jenkins持续集成环境搭建,把自己的写的app进行了自动化打包上传的一套流程,下面把我的经验分享给大家. 本文大纲: 说明:本文以windows为例 环境准备 jenk ...

  7. Jenkins+Gradle+Python进行Android自动化打包

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.本文要讲的内容是通过Jenkins进行Andr ...

  8. Android自动化打包——Jenkins自动化打包工具(Mac平台)

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成.改文章,我们通过使用Jenkins自动化工具 ...

  9. 用jenkins搭建android自动打包环境

    这里假设你已经搭建了jenkins的环境.否则,请阅读我的另一篇文章: http://my.oschina.net/u/930967/blog/298980 其实那个文章里面有用的就两句话的事儿,还是 ...

最新文章

  1. web在线阅读日志文件,response.getOutputStream().write中文乱码原因
  2. VS2015编译32位Opencv310(动态库+静态库,文末有下载链接)
  3. Thread类源码剖析
  4. Apache Camel框架之事务控制
  5. 50款大数据分析神器 :你还在用Excel
  6. 【渝粤教育】国家开放大学2018年春季 0341-21T高级英语听力(2) 参考试题
  7. 【渝粤题库】陕西师范大学202881 电子商务概论
  8. 深入理解Java的反射与动态代理
  9. 北理乐学c语言基础答案晕,北理乐学C语言答案
  10. 5G版聚合路由器加速释放超高清视频传输应用
  11. 计算机二级12套excel操作题答案,计算机二级MSOffice操作题及答案
  12. leetcode-739:每日温度
  13. 360安全卫士企业版本 跳过卸载保护密码
  14. 补交20145226蓝墨云班课 -- MyOD
  15. pandas dataframe query()
  16. 运算放大器知识体系-电流检测放大器
  17. Win10安装Ubuntu22.04后,The Windows Subsystem for Linux optional component is not enabled. Please enable
  18. IO模型(阻塞,非阻塞,多路复用)
  19. keras实现seq2seq做Chatbot
  20. 【海康视频SDK】linux服务器端截图与下载视频

热门文章

  1. 计算机视觉,基于skimage对图像阈值分割的学习
  2. nginx.conf 基本配置模板和结构
  3. 二、 elasticsearch安装和概念
  4. 四十五、Redis数据库学习
  5. redis 启动无输出_深入剖析Redis系列: Redis入门简介与主从搭建
  6. 超大规模预训练模型专场直播:模型真的越大越好吗?
  7. 直播 | AAAI 2022论文解读:三⻆分解一致性约束的端到端语音翻译
  8. WWW 2021有哪些值得读的图机器学习相关论文?
  9. ICCV 2019 COCO Mapillary挑战赛冠军团队技术分享
  10. 胶囊网络(Capsule Network)在文本分类中的探索