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