上一篇我们安装好了 Jenkins
设置了管理员用户。这一篇我们将实现第一自动化打包,迈出了我们成功的第一步。
全局工具配置
Manage Jenkins
-->Global Tool Configuration
一: jdk 安装
可选择自动安装或设置使用本地的jdk
如下。当勾选Install automatically
时,系统会自动从官网下载对应版本的jdk
。如果选择使用本地安装的jdk ,需要把系统的JAVA_HOME
的值填写到这里的JAVA_HOME
框中。别名可以随意,只要你能识别的出来就可以了。
二:git 安装
Mac 平台可使用命令which git
查找 git
的路径 。
三: gradle 安装
同样的方式安装 gradle
,可以选择与项目使用的gradle
相同的版本进行安装。或直接使用本地的gradle
全局属性配置
Manage Jenkins
-->Configure System
-->全局属性
设置全局属性 ANDROID_HOME
(可以叫其他名字吗?貌似不可以), 值为你本地sdk
路径。记得勾选Environment variables
,如下所示。
打包
到这里基本配置已经完成。可以建项目进行打包了。
创建一个自由风格的项目
新建item
-->Freestyle project
输入构建项目名称,如test
,确定即可。
源码管理
在弹出界面,点击源码管理
菜单。选择Git
- 首先我们需要在
Respository URL
栏填入git
仓库的地址。 -
Branch to build
可以指定分支,如*/master
-
Credentials
框需要选择一个凭证。点击后面的 添加按钮即可添加凭证。 如下
添加 Jenkins 凭据提供者
点击添加按钮后会弹出如下输入框
- 类型: 这是下拉选择框,我们选择
UseName with password
- 范围: 默认就好
- 用户名: 我们这里添加的是
git
凭证,所以需要输入git
的登录账号 - 密码:
git
的登录密码 - ID: 可以空着
- 描述: 相当于别名,取一个你可以区分的名字就可以了,如
myGithub
. - 点击添加后就可以添加成功
构建
点击增加构建步骤
,选择Invoke Gradle Script
.
在出现的Invoke Gradle Script
界面有两个选项。Invoke Gradle
和 Use Gradle Wrapper
两种方式进行构建。这个具体我们在下面分析。
在Tasks
框输入我们要执行的打包命令clean assemble
,如下所示。
1.Invoke Gradle
:直接调用gradle
脚本进行构建。
直接使用gradle
进行构建,就需要指定gradle
版本。我们前面设置或下载了哪些版本的gradle
,这里就可以使用哪些版本的
2.Use Gradle Wrapper
,使用本gradle wrapper
进行构建。
Gradle Wrapper 是什么呢?
为什么就不需要指定gradle
版本 。Gradle Wrapper
是gradle
的包装器。实质上它就是一个脚本,方便我们调用gradle
的。它会调用配置文件中指定版本的gradle
完成相应的任务。如果你的电脑里没有该版本的gradle
,他会下载这个版本的gradle
。这么 做有什么好处呢?不用手动下载,节约时间、节约资源,可以偷懒。
那是用gradle wrapper
是怎么构建的呢?
这玩意在哪里呢?我并没有下载这个玩意啊?这脚本在哪里?我们打开自己的安卓项目。
就是这个
gradlew
文件,就是这个脚本。我们在Androidstudio
中执行./gradlew
命令也是调用它。这个脚本的配置文件是什么呢?就是gradle-wrapper.properties
。这里面指定了gradle
的版本等相关信息。每个项目上传的时候这些文件都会上传到git
仓库。所以我们通过jenkins
从Github
上 clone
下来的代码里也是有这些文件。所以Use Gradle Wrapper
构建,实质上就是调用gradlew
脚本构建。我们这里就选用这种打包方式。
打包好的文件在哪里
每个项目都会自动创建一个工作空间,git clone
下来的代码,打包好的文件等都存放在这里。
总结
到这里我们就打包成功了,当然这是最简单的打包。 我们仅仅实现了让Jenkins
使用git
从代码仓库把代码clone
下来,然后执行gradle
命令进行打包。但打包好的文件都在工作空间里,不方便下载。这些问题我们在后续章节解决它。