欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android之Jenkins自动化打包流程及问题处理(一)

程序员文章站 2024-03-24 19:33:40
...

Jenkins自动化部署打包,让我们不用在给测试、产品打各种的包。它可以做到自动化打包,多分支打包,定时打包,参数化构建等等。

下面,说下配置,及打包流程。

下载及安装Jenkins

Jenkins的下载地址

官方下载地址: https://jenkins.io/download/
Jenkins中文网 : http://www.jenkins.org.cn/

我们一般下载左侧长期支持的版本。如果下载慢,可以用Jenkins中文网下载。
Android之Jenkins自动化打包流程及问题处理(一)

Jenkins安装

安装就是傻瓜式的安装。

win10需要右键点击管理员安装才可以,如果右键没有的话。就右键点击电脑左下角那里,点击命令提示符(管理员) (记得是带管理员的)。然后,cd 到jenkins的安装包目录。
执行

msiexec /package jenkins.msi

就可以安装了。

安装完成后,会自动跳转到浏览器: http://localhost:8080

会显示下图,需要密码
Android之Jenkins自动化打包流程及问题处理(一)
找到你安装Jenkins的目录下Jenkins/secrets/initialAdminPassword
用记事本打开,把密码粘贴上去,点击继续

下面就来到了插件安装
Android之Jenkins自动化打包流程及问题处理(一)
这里,我们可以点击选择插件来安装,因为现在Android项目都是基于Gradle的,我这里安装的插件是Gradle和git(进入Jenkins后,通过[系统管理] - [插件管理]也可以安装)。开始安装后,会发现不止这2个插件,还会安装这2个插件所依赖的插件。

安装完成后,会让我们创建管理员的账号(随便写admin?)。创建完后,我们的安装就完成了。
如果是把Jenkins放到服务器的话,我们需要下载war包,放到tomcat的webapps目录下面

Jenkins默认的地址是:http://localhost:8080

Jenkins的配置

这里有两个地方需要配置。
全局工具配置,是配置Gradle、git、JDK。
系统配置,是配置我们的Android SDK。
gradle、git的配置是只有我们下载安装了插件才有的。所以,安装插件那里,这2个是必须要安装的

1,全局工具配置

配置Gradle、git、JDK。路径,如下图
Android之Jenkins自动化打包流程及问题处理(一)
JDK就是环境变量里面配置JAVA_HOME的路径
Android之Jenkins自动化打包流程及问题处理(一)
git就是我们Android studio里面配置的git的路径。要指向git.exe的全路径
Android之Jenkins自动化打包流程及问题处理(一)
Gradle 配置的路径,也是Android studio 默认生成的路径。
xxx.gradle\wrapper\dists\gradle-4.10.1-all\455itskqi2qtf0v2sja68alqd\gradle-4.10.1
这样式的。
Android之Jenkins自动化打包流程及问题处理(一)
这样全局工具配置就完了。

2,系统配置

系统配置,就是配置我们的Android SDK。如下图
Android之Jenkins自动化打包流程及问题处理(一)
Android之Jenkins自动化打包流程及问题处理(一)
Mange Jenkins(系统管理)–Config System(系统设置) - 全局属性 - Evnvionment variables(环境变量),前面打勾。然后,配置Android SDK路径就可以啦。

到这里Jenkins的配置就完成了,下面就开始新建我们的任务。
Android之Jenkins自动化打包流程及问题处理(一)

新建任务并进行配置

新建项目

Android之Jenkins自动化打包流程及问题处理(一)
Android之Jenkins自动化打包流程及问题处理(一)
点击item,输入项目名字,选择*风格项目,点击确定。
项目就创建完成啦。是不是很简单,下面,就开始配置项目的一些东西。

项目配置

这里只是弄一个简单的项目,先不配置参数化构建。下一章,会说明参数化构建的细节

General

Android之Jenkins自动化打包流程及问题处理(一)
这里是参数化构建的添加参数的位置。这章,我们主要是跑通Jenkins的构建。
所以,暂时略过这个功能。

源码管理

Android之Jenkins自动化打包流程及问题处理(一)
源码管理,我们使用git 。这里填写git的地址后,会发现报错(毕竟,肯定是需要SSH或者账号密码才能登陆的哈。。。。)。下面就添加账号密码。

点击添加,点击Jenkins。如下图
Android之Jenkins自动化打包流程及问题处理(一)
这里配置完了,账号密码后,我们发现填写git地址那里,就不报错了。
Android之Jenkins自动化打包流程及问题处理(一)

构建触发器

Android之Jenkins自动化打包流程及问题处理(一)
这里的作用就是。可以配置,每次有push代码,自动触发构建,或者定时构建等等。
功能很强大,暂时略过。

构建

构建步骤:
1,点击增加构建步骤,选择Invoke Gradle script
2,点击Invoke Gradle ,选择我们上面配置的Gradle
3,添加Task。一般都是先clean,在assembleRelease来打包。
Android之Jenkins自动化打包流程及问题处理(一)

构建后操作

这里的作用,主要是构建完成后,上传到蒲公英,发送钉钉通知,发送邮件等后续操作。
减少人力成本。也是略过。

构建

在上面的配置都完成后,返回到项目的目录。点击Build Now(立即构建)
就开始构建了。
Android之Jenkins自动化打包流程及问题处理(一)
构建完成后,蓝色表示构建成功。红色表示构建失败。

把鼠标放到构建完成的任务后面,点击向下的箭头,选择控制台输出,就可以看到构建错误的日志。
Android之Jenkins自动化打包流程及问题处理(一)
控制台输出的构建过程,错误日志。
Android之Jenkins自动化打包流程及问题处理(一)
到这里,Jenkins的自动化打包就完成了。

问题

Aapt2Exception AAPT2 error

Android之Jenkins自动化打包流程及问题处理(一)
本地打包没有出现这个问题。只在Jenkins上才报了这个错误。

解决办法:
在相应的项目配置–构建–高级下面,勾选 Force GRADLE_USER_HOME to use workspace
如下图
Android之Jenkins自动化打包流程及问题处理(一)

这里,自动化打包流程及遇到的问题就完成了。当然,也是最简单的流程跑完。
后面还有,参数化构建,定时构建,多分支构建,构建完成后,自动上传到蒲公英等平台,发钉钉消息,发邮件等等等等。

下一章,会说下参数化构建等东西。