Jenkins 系列 -- 创建第一个打包项目

上一篇我们安装好了 Jenkins 设置了管理员用户。这一篇我们将实现第一自动化打包,迈出了我们成功的第一步。

全局工具配置

Manage Jenkins -->Global Tool Configuration

一: jdk 安装

可选择自动安装或设置使用本地的jdk如下。当勾选Install automatically 时,系统会自动从官网下载对应版本的jdk。如果选择使用本地安装的jdk ,需要把系统的JAVA_HOME的值填写到这里的JAVA_HOME框中。别名可以随意,只要你能识别的出来就可以了。
Jenkins 系列 -- 创建第一个打包项目

二:git 安装

Mac 平台可使用命令which git 查找 git 的路径 。
Jenkins 系列 -- 创建第一个打包项目

三: gradle 安装

同样的方式安装 gradle ,可以选择与项目使用的gradle 相同的版本进行安装。或直接使用本地的gradle
Jenkins 系列 -- 创建第一个打包项目

全局属性配置

Manage Jenkins -->Configure System -->全局属性
设置全局属性 ANDROID_HOME(可以叫其他名字吗?貌似不可以), 值为你本地sdk 路径。记得勾选Environment variables,如下所示。
Jenkins 系列 -- 创建第一个打包项目

打包

到这里基本配置已经完成。可以建项目进行打包了。

创建一个*风格的项目

新建item–>Freestyle project 输入构建项目名称,如test,确定即可。
Jenkins 系列 -- 创建第一个打包项目

源码管理

在弹出界面,点击源码管理菜单。选择Git
Jenkins 系列 -- 创建第一个打包项目

  • 首先我们需要在 Respository URL 栏填入git仓库的地址。
  • Branch to build可以指定分支,如*/master
  • Credentials 框需要选择一个凭证。点击后面的 添加按钮即可添加凭证。 如下

Jenkins 系列 -- 创建第一个打包项目

添加 Jenkins 凭据提供者

点击添加按钮后会弹出如下输入框
Jenkins 系列 -- 创建第一个打包项目

  • 类型: 这是下拉选择框,我们选择 UseName with password
  • 范围: 默认就好
  • 用户名: 我们这里添加的是git 凭证,所以需要输入git 的登录账号
  • 密码:git的登录密码
  • ID: 可以空着
  • 描述: 相当于别名,取一个你可以区分的名字就可以了,如 myGithub.
  • 点击添加后就可以添加成功

构建

点击增加构建步骤,选择Invoke Gradle Script.
在出现的Invoke Gradle Script界面有两个选项。Invoke GradleUse Gradle Wrapper两种方式进行构建。这个具体我们在下面分析。
Tasks 框输入我们要执行的打包命令clean assemble,如下所示。
Jenkins 系列 -- 创建第一个打包项目

1.Invoke Gradle:直接调用gradle 脚本进行构建。

直接使用gradle 进行构建,就需要指定gradle 版本。我们前面设置或下载了哪些版本的gradle,这里就可以使用哪些版本的
Jenkins 系列 -- 创建第一个打包项目

2.Use Gradle Wrapper,使用本gradle wrapper进行构建。
Gradle Wrapper 是什么呢?

为什么就不需要指定gradle 版本 。Gradle Wrappergradle 的包装器。实质上它就是一个脚本,方便我们调用gradle 的。它会调用配置文件中指定版本的gradle完成相应的任务。如果你的电脑里没有该版本的gradle,他会下载这个版本的gradle。这么 做有什么好处呢?不用手动下载,节约时间、节约资源,可以偷懒。

那是用gradle wrapper 是怎么构建的呢?

这玩意在哪里呢?我并没有下载这个玩意啊?这脚本在哪里?我们打开自己的安卓项目。
Jenkins 系列 -- 创建第一个打包项目
就是这个gradlew 文件,就是这个脚本。我们在Androidstudio中执行./gradlew命令也是调用它。这个脚本的配置文件是什么呢?就是gradle-wrapper.properties。这里面指定了gradle的版本等相关信息。每个项目上传的时候这些文件都会上传到git 仓库。所以我们通过jenkinsGithubclone 下来的代码里也是有这些文件。所以Use Gradle Wrapper构建,实质上就是调用gradlew脚本构建。我们这里就选用这种打包方式。

打包好的文件在哪里

每个项目都会自动创建一个工作空间,git clone 下来的代码,打包好的文件等都存放在这里。
Jenkins 系列 -- 创建第一个打包项目

总结

到这里我们就打包成功了,当然这是最简单的打包。 我们仅仅实现了让Jenkins 使用git 从代码仓库把代码clone 下来,然后执行gradle命令进行打包。但打包好的文件都在工作空间里,不方便下载。这些问题我们在后续章节解决它。