热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这应该是最全的JenkinsAndroid自动打包构建教程

环境搭建JDK下载与配置环境变量SDK下载与配置环境变量GIT下载与配置环境变量Jenkins下载与安装。本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。搭建

环境搭建

  1. JDK下载与配置环境变量
  2. SDK下载与配置环境变量
  3. GIT下载与配置环境变量
  4. Jenkins下载与安装。

本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。

搭建步骤

检查环境变量是否都配置正确。

1.环境变量检查

win运行cmd,输入

java -version

查看是否输出java version,如果输出成功则证明配置JDK正确。

win运行cmd,输入

adb start-server

查看是否成功启动adb server,如果成功则证明SDK配成功

win运行cmd,输入

git

如果出现git usage说明则证明配置成功

  1. 解压工具包,按照向导安装Jenkins。安装向导推荐的插件。插件安装完在已安装的列表中查看是否已经安装了Android Lint Plugin,Gradle Plugin,
    Git plugin插件。

  2. 配置Jenkins的全局工具配置

  • 进入jenkin首页,如下图,点击系系统管理。

《这应该是最全的Jenkins Android自动打包构建教程》 Jenkins首页.png

找到全局工具配置

《这应该是最全的Jenkins Android自动打包构建教程》 全局工具.png

  1. 配置JDK

《这应该是最全的Jenkins Android自动打包构建教程》 JDK配置.png

  1. git配置

《这应该是最全的Jenkins Android自动打包构建教程》 git配置.png

  1. gradle配置

《这应该是最全的Jenkins Android自动打包构建教程》 gradle配置.png

注意:此处配置的gradle版本必须与所构建的项目一致。另外路径不能过长,否则后面编译会导致AAPT的错误(建议将对应版本gradle移动到某个盘的根目录中,或者直接使用项目自带的gradle在编译时进行下载)。

  1. 配置全局的SDK路径如下图

左边找到系统管理,然后点击下图所示的系统设置

《这应该是最全的Jenkins Android自动打包构建教程》 系统设置.png

找到环境变量配置,添加Android Sdk的配置,==路径需要改为自己的SDK路径==

《这应该是最全的Jenkins Android自动打包构建教程》 2ECB85DBB34566AF3893ABED04C26365.png

环境变量到这里就配置完毕了。

新建无参数任务

  1. 新建任务

    《这应该是最全的Jenkins Android自动打包构建教程》 新建任务.png

  2. 添加描述,点击高级设置配置工作区

    《这应该是最全的Jenkins Android自动打包构建教程》 配置工作区.png

  3. 配置代码git仓库

《这应该是最全的Jenkins Android自动打包构建教程》 配置代码git仓库.png

  1. 配置构建

    《这应该是最全的Jenkins Android自动打包构建教程》 开始构建.png

配置GradleWrapper

《这应该是最全的Jenkins Android自动打包构建教程》 构建选择gradle配置wrap路径执行命令.png

配置root build script 路径

《这应该是最全的Jenkins Android自动打包构建教程》 配置build的路径.png

  1. 点击保存应用。
  2. 点击立即构建,就可以完成自动打包的任务。

新建带参数任务

  1. 和无参任务一样先创建一个自由风格的构建项目
  2. 选择参数化构建过程

《这应该是最全的Jenkins Android自动打包构建教程》 参数化构建.png

  1. 构建参数,与build.gradle中获取的方式。

《这应该是最全的Jenkins Android自动打包构建教程》 参数配置.png

如上图,以选项参数以及文本参数为例。在Jenkins中定义的参数可以使用”${parameterName}”,例如Jenkins选择分支时就可以使用此参数:

《这应该是最全的Jenkins Android自动打包构建教程》 Jenkins使用参数.png

在Andrid项目中如何获取对应的参数呢?因为Jenkins打包时会把参数侵入到项目中,在app包名下的build.gradle中可以这样获取上述的JAR_VERSION_NAME:

def defaultName = "2.04.11"
def jarVersiOnName= project.hasProperty('JAR_VERSION_NAME') ? JAR_VERSION_NAME : defaultName

注意:boolean参数使用选项参数来代替,在gradle3.3版本中运行时此参数会获取不准确。

def needNewsSdk = project.hasProperty('NEED_NEWS_SDK') ? NEED_NEWS_SDK : "false"
boolean isNeedNewsSdk = needNewsSdk == "true"

  1. 其它过程同无参数任务一致,在执行Gradle脚本时需要将参数带到命令中。

clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }

注意:参数名使用-P来开头,P为大写

构建完后构建其它项目,且带有参数。

  1. 需要安装插件Parameterized Trigger plugin,在系统管理-插件管理-可安装选项里面检索此插件安装并重启Jenkins(重启方法在Jenkins后面地址后面加上/restart
  2. 在构建或者构建后操作选项里面(因Jenkins版本不同,此插件的位置也不同)找到:

《这应该是最全的Jenkins Android自动打包构建教程》 构建其它项目.png

填入要构建的下个项目名,并添加参数,可以选择当前任务的参数如上图。

其它

Jenkins工具包下载:
点击下载

提取密码: 3zr5


推荐阅读
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 软件项目管理实践——Jenkins持续集成与Maven、GitHub的应用
    本文详细介绍了如何利用Jenkins实现持续集成,以及Maven和GitHub在项目开发中的具体应用。包括环境搭建、工具安装、项目创建及代码管理等关键步骤。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 提升接口测试效率的关键:用例与工具的综合应用
    本文将探讨如何通过有效的接口测试用例设计和工具选择,显著提高接口测试的效率和质量。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
  • 本文将指导如何在JFinal框架中快速搭建一个简易的登录系统,包括环境配置、数据库设计、项目结构规划及核心代码实现等环节。 ... [详细]
  • 性能测试工具的选择与应用
    本文探讨了性能测试工具的重要性及其在软件测试中的作用,重点介绍了选择合适性能测试工具的考量因素,并对几种常用的性能测试工具进行了对比分析。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 本文详细介绍了如何使用 PHP 编程语言输出 99 乘法表,包括使用不同的循环结构如 do-while、for 循环等方法,并提供了具体的代码示例。 ... [详细]
author-avatar
mobiledu2502923581
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有