自动化打包是一个较少沟通成本提高工作效率的一种方式,最近公司在做相关的项目过程中,提出了这个解决方案,现记录下来,供大家参考和个人记忆,本篇博文较长,希望大家耐心阅读。

jenkins 安装

① 下载 Jenkins

地址:https://jenkins.io/download/

有两种方式进行安装,一种是war包,一种是msi包,此篇博文讲述的是war包安装方式,msi方式比较简单,这里就不做详细介绍了,如果有需要大家可以下载博文末尾给出的网盘资源。

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

② 下载Tomcat

地址:https://tomcat.apache.org/

根据个人电脑情况选择对应版本下载,本人是windows 64位系统

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

③ 安装war包到Tomcat服务

将war包放置到Tomcat安装目录webapps目录下

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

④ 启动Tomcat服务器,配置Jenkins

打开浏览器,输入http://localhost:8080/jenkins/ 进行访问,按提示找到Jenkins生成的密码并粘贴到框中,开始部署Jenkins

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

选择Jenkins插件,选择建议安装的插件,开始安装

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

创建第一个用户及密码

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

部署完成

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

安装过程到这里就结束了,接下来开始配置我们的Jenkins

Jenkins 配置

① 全局工具配置,配置 JDK / Git / Gradle

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

② 系统工具配置

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

③ 插件安装(注:此步骤主要是针对于在部署Jenkins过程中插件下载失败或者下载新的插件)

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

大家都知道“墙”的存在,所以出现下载失败,大家不要慌张,也没必要去为了下载去买相关的翻墙资源,教大家两种方式去下载插件,第一种是直接下载插件,地址是:http://updates.jenkins-ci.org/download/plugins/ ,按照下图的上传插件步骤进行插件上传安装;第二种是通过国内镜像下载,按照下图升级站点的方式将url替换为如图的链接,url为:http://mirror.xmission.com/jenkins/updates/update-center.json

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

OK,到这里必要的插件安装和相关配置就结束了,前期准备工作已经结束,接下来就到了激动人心的时刻,我们该开始创建属于我们的自动化打包项目。

创建自动化任务

① 第一步点击“新建任务”

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

② 输入任务名称,选择构建自由风格软件项目

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

③ 填写项目描述,设置丢弃策略

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

④ 配置参数化构建过程,此时我选择的只是其中一种,选项参数,有两个选项一个是Debug一个是Release,分别对应的是测试版APK与正式版APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

⑤ 在 ④ 中点击“高级”,自定义工作空间,配置Jenkins工作空间,可用来存储Jenkins远程拉取的源码

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

⑥ 选择源码来源,本人使用的是GitHub存储的代码,所以此处的URL是GitHub上对应项目的URL链接,之后选择Add添加GitHub的账号与密码,这种方式是使用http的方式拉取代码,可以选择代码获取的分支名称,默认主干master

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

还有一种是通过SSH的方式拉取代码,此时就要在选择“类型”时,选择如下图箭头所指的类型

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

接着填写你的用户名和对应的SSH方式的私钥,这个私钥是你在GitHub上所配置的SSH公钥时,所生成的私钥,这个两个秘钥要配对才可以正常访问。

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

⑦ 构建触发器,选择“定时构建”,本人设置的是每五分钟进行一次构建

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

选择“轮训SCM”,配置每五分钟进行一次构建,此时是否执行构建任务取决于你是否有代码提交,如果提交则进行构建,否则不进行

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

还有一种是选择由GitHub或GitLab在接收到代码提交后,自动触发构建,而且还可以指定分支,此种方式比较复杂,由于篇幅原因在这里就不再叙述了,如果需要我会在以后的博文中给大家补充进来。

⑧ 构建,选择箭头所指的Gradle方式构建

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

选择你在全局工具配置过程中设置的Gradle配置,并编写Task执行Gradle任务

本人的Task是:clean assemble${APP_TYPE} --stacktrace --info --debug

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

⑨ 新建任务完成,可以点击下图箭头进行参数构建或更改配置操作

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

到这里本篇博文已经接近尾声,希望可以通过本篇博文,让大家对Android的自动化打包有一个全面的认知,接下来给大家补充一下,在这个过程中出现过得异常,供大家学习。

异常 ① :

 Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

解决:设置你需要编译的源码,Jenkins本地下载远程代码后的路径,在“构建”中点击“高级”进行设置

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

异常 ② :

Windows 系统 Jenkins + Gradle + GitHub 实现自动化打包APK

解决:配置使用自定义工作空间

感谢大家耐心阅读,如果大家喜欢欢迎大家点赞支持!!!

相关文章:

  • 2021-04-29
  • 2021-09-27
  • 2021-07-05
  • 2021-04-28
  • 2022-12-23
  • 2021-04-03
猜你喜欢
  • 2021-05-18
  • 2021-06-02
  • 2022-12-23
  • 2021-08-16
  • 2021-04-14
  • 2021-09-02
相关资源
相似解决方案