Jenkins自动化构建(一)玩转Android项目自动化打包

早些年Eclipse时代Android打包采用的ant,现在AndroidStudio时代采用的Gradle,目前的开发模式都是采用敏捷开发,如果仍采用手动打包给QA提测未免太耽误事了,目前众多公司采用的是自动化打包策略+自动化测试,本文是Jenkins自动化构建的第一篇,玩转Android项目的自动化打包,来自早些时候个人整理的有道云笔记,不对之处请指出。前方高能,巨图众多!

jenkins工作流程

jenkins工作流程

jenkins安装

一般公司自动化构建都会将jenkins配置到Tomcat下,无论是jenkins还是tomcat都需要jdk。

准备工作

1.Java jdk下载

java jdk下载、安装、配置环境变量,安装过程忽略。

2.Tomcat下载

tomcat下载,安装,配置环境变量,安装过程忽略。

需要注意,tomcat默认端口8080,此端口很容易被其他服务占用,可根据自己需求修改tomcat端口号。

3.jenkins下载

jenkins下载有多种类型,主要看当前的系统环境。一般我们选war包形式下载,后续结合tomcat进行安装。

jenkins下载

jenkins安装

这里还是以war包结合tomcat来说,安装过程很简单,直接放到tomcat根目录webapps下,tomcat启动时会自动解压出一个jenkins文件夹。

jenkins home位置修改

jenkins安装后默认在C盘User下会生成个工作区(.jenkins),将来的插件、配置,以及创建的jobo都在此文件夹下,默认是不需要环境变量的,但是有些时候我们需要将此文件夹放到一个安全的位置,防止系统损坏或者重装系统这些配置丢失。这个时候就要修改工作区的环境变量了。

jenkins-home环境变量

jenkins启动

启动tomcat, 输入jenkins的服务器地址http://xxx.xxx.xxx.xxx:8080/jenkins/,一路下来按照提示进行操作,设置root用户信息,安装相关插件(刚开始不建议完全安装推荐的插件,可以选择跳过,你也可以看一下推荐的插件有哪些,选择性安装),然后就回到主页了:

jenkins启动主页

安装插件

汉化: Localization: Chinese (Simplified)

问题:jenkins无法安装插件

找到插件管理最后一项:

jenkins插件http代理设置
滑到最下边找到Upload Site,将默认的https改为http,保存修改:http://updates.jenkins-ci.org/update-center.json

jenkens插件下载修改Upload-Site

如果一直下载失败,可全局开启vpn(个人建议),当然也可以将上边的地址切换为国内镜像:
http://mirror.xmission.com/jenkins/updates/current/update-center.json

jenkins角色配置

1. 添加用户

路径:Manage Jenkins->Manage Users

添加用户
默认是你自己的超级用户root,你可以在此处添加第二个,第三个用户。

2. 设置用户权限

2.1 安装插件

Role-based Authorization Strategy

2.2 授权策略

路径:Manage Jenkins->Configure Global Security

Configure-Global-Security

保存。

2.3 角色管理和分配角色

路径:Manage Jenkins->Manage and Assign Roles

Manage-and-Assign-Roles

  • 管理角色:就是把角色分一下类,例如超级管理员有哪些、QA有哪些、普通用户有哪些。
  • 分配角色:就是把上边的角色分配到个人。

2.3.1 管理角色

管理角色
这里配置三种权限角色:管理员模式、普通模式和匿名模式(Anonymous),配置项如上,将来普通模式可以分配给QA供打包测试,匿名模式可以分配给不登录模式下查看项目,当然如果有别的角色需要我们还可以再进行添加。

2.3.2 分配角色

分配角色
这一步就是将权限分配到个人,Anonymous分配匿名模式下的权限。

以上只是基本的,我们还可以实现某人可以看到某些项目,或者针对某个项目有固定的权限等,这里就不说了。

简单了解系统设置

使用Html展示消息

1.安装插件

OWASP Markup Formatter Plugin

2.标记格式器

路径:Manage Jenkins->Configure Global Security

标记格式器
3.添加Html通知体

添加Html通知体

创建项目

安装插件:

  1. Git,因为我们的代码是git管理的。
  2. Gradle

配置构建环境

配置JDK、Git、Gradle相关变量,路径:Manage Jenkins->Global Tool Configuration

配置构建相关环境变量

准备创建项目

1.创建项目

创建项目
2.设置源码源

设置代码源

这里的凭据,如果项目地址在域里面,并且登录人是域用户,可以不用设置凭据了。

3.设置Gradle构建

设置Gradle构建
主要关注两点:

  1. gradle版本:建议和项目gradle版本保持一致。
  2. 设置gradle打包命令,图上给的只是简单的。
clean:每次构建前clean一下项目;
assembleDebug:构建debug包
-stacktrace-debug:输出日志栈,打印日志信息。

更多gradle打包命令,可以进行百度,这里就不多说了。

4.构建后操作

构建后操作
构建后主要用于打包产物的输出、存档。

  1. 选择Archive the artifacts,匹配构建后的输出产物。
  2. 打包后我们会在项目首页看到最后一次构建成功后产物的归档。

5.项目构建

回到项目首页,点击Build Now,即可看到构建过程:

项目构建过程
点击构建条,进到项目中可以查看日志输出:

项目构建控制台输出

6.自动清除历史构建

自动清除历史构建

参数化构建

下载插件:

  1. Build With Parameters
  2. Persistent Parameter

说明:安装Build With Parameters Plugin为了实现参数化构建,安装Persistent Parameter Plugin为了实现构建时默认参数值取自上次构建的参数(当然如果要实现该功能,应该需要添加该插件对应的参数)

参数化构建

1. 设置构建类型

选择Choice Parameter

Choice-Parameter
在gradle构建类型地方进行替换

指定构建类型

2. 设置构建分支

选择Git Parameter

Git-Parameter
在源码管理的地方进行替换

指定git分支

当然你也可以选择Choice Parameter,类似设置构建类型一样,自己发挥咯。我自己就是用这种方式实现的。

放一张主页的截图:

主页构建模型

展示二维码

为了展示二维码,需要知道二维码存放的具体路径,然后二维码的扫描出来的结果必须是apk的具体路径,所以需要经过以下几步:

  1. 将构建后的apk重命名,方便生成二维码(明确将来的apk存放地址)
  2. 将构建生成的apk,拷贝到服务器具体路径下,我这里的服务器就是我本机。
  3. 根据apk的服务器路径生成二维码,并存放在服务器某个位置。

生成二维码需要用到二维码生成库包,我这里分享一个:

QRCode.jar

生成二维码的命令:

java -jar [存放生成jar包的路径/QRCode.jar] url=[二维码扫描结果字符串] image=[二维码的名字.jpg] save=[二维码存放的位置]

window脚本

1.我们按照上边的过程将其写成window脚本命令,打开window batch command窗口

window脚本构建参数
2.输入脚本内容:

set buildApk=app\build\outputs\apk\%BuildFlavor%\%BuildType%\*.apk
set apkName=ehistore_%BuildBranch%_%BuildFlavor%_%BuildType%_%BUILD_ID%
set jenkinsBuildDir=F:\Workspaces\project_other\tomcat-8.5.39\webapps\jenkins_build
set jenkinsBuildResDir=%jenkinsBuildDir%\res
set jenkinsBuildApkDir=%jenkinsBuildDir%\apks
set apkDownLoadUrl=http://192.xxx.x.xxx:8080/jenkins_build/apks/%apkName%.apk

ren %buildApk% %apkName%.apk
copy %buildApk% %jenkinsBuildApkDir%
java -jar %jenkinsBuildResDir%\QRCode.jar url=%apkDownLoadUrl% image=%apkName%.jpg save=%jenkinsBuildApkDir%

3.下载插件:Build Name and Description Setter

该插件主要用于修改构建名字和构建描述展示,利用描述内容我们来展示二维码。

添加插件部件:

添加修改描述和名字的插件
Changes build description添加描述内容:

<img src="http://192.xxx.x.xxx:8080/jenkins_build/apks/ehistore_${BuildBranch}_${BuildFlavor}_${BuildType}_${BUILD_ID}.jpg" height="180" width="180"/>

4.具体设置如下

修改构建产物的描述和名字

生成效果如下:

最终二维码展示

最后

本文主要带你玩转Jenkins中实现Android项目自动化打包,这是第一篇,后续还有二、三篇,如果喜欢顺便点赞+关注哦

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins 是一个开源的持续集成和持续部署工具,可以用于自动化构建、测试和部署软件。要使用 Jenkins 自动化构建镜像,你需要遵循以下步骤: 1. 安装 Jenkins:首先,你需要在你的服务器或本地计算机上安装 Jenkins。你可以从 Jenkins 官网(https://www.jenkins.io/)下载并安装适合你操作系统的版本。 2. 配置 Jenkins:安装完成后,打开浏览器并访问 Jenkins 主页。点击“新建任务”,输入任务名称,选择“自由风格项目”,然后点击“确定”。 3. 配置源代码管理:在任务配置页面,找到“源码管理”部分,选择你的代码仓库类型(如 Git、SVN 等),并输入仓库地址和凭据。如果需要,你还可以选择触发器(如定时构建、分支提交等)。 4. 配置构建环境:在任务配置页面,找到“构建环境”部分,选择你要使用的 Docker 镜像作为构建环境。如果你还没有 Docker 镜像,可以在 Docker Hub(https://hub.docker.com/)或其他容器注册表中创建一个。创建完成后,将镜像 ID 添加到 Jenkins 任务中。 5. 配置构建步骤:在任务配置页面,找到“构建”部分,点击“添加构建步骤”,选择“执行 shell”或“执行 Windows 批处理命令”,然后输入相应的构建命令。例如,对于一个 Node.js 项目,你可能需要运行 `npm install` 和 `npm run build` 命令来安装依赖并构建应用程序。 6. 配置后置操作:在任务配置页面,找到“后置操作”部分,点击“添加后置操作”,选择“上传文件”或“发布应用”。这将允许你在构建成功后将生成的镜像或应用程序上传到指定的位置。 7. 保存任务配置:完成所有配置后,点击页面底部的“保存”按钮。现在,你已经设置了一个简单的 Jenkins 自动化构建镜像任务。当你推送代码到仓库时,Jenkins自动触发构建过程,并根据你的配置执行相应的命令和操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值