前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JenKins 实战-首次从Git上获取代码并编译打包Android apk

JenKins 实战-首次从Git上获取代码并编译打包Android apk

作者头像
zinyan.com
发布2023-07-13 15:12:55
9710
发布2023-07-13 15:12:55
举报
文章被收录于专栏:zinyanzinyan

介绍

Jenkins的很多功能如果直接按照界面菜单的简单介绍,可能会让人很迷茫无从下手。

所以,我打算根据实际情况。一点点的丰富对于JenKins的了解。

而本篇就是介绍:如果有一个Android 项目。是通过gitlab进行代码管理。

那么如何采用Jenkins将项目从GitLab上拉取。并进行构造打包成apk。

先从最基本简单的方法来实现。

1.准备工作

我们都知道如果要打包Android 。那么肯定是需要AndroidSDK的。

所以,我们要先配置AndroidSDK 到JenKins之中。

Manage JenKins -> Configure System 进入到系统全局配置界面

然后滑动列表,在全局属性项目上,勾选:Environment variables(环境变量配置)。

会自动弹出键值对列表。让我们填写

效果图如上,键:ANDROID_HOME 。然后值就是填写我们SDK的根目录即可。

例如我们的D盘AndroidSDK 路径下的截图所示。

扩展一下知识:我们如果其他编译插件等也可以在这里配置路径。这样jenkins就能够找到相关的sdk库了。在构造的时候也能使用得上

2.创建Jenkins 项目

我们先创建一个任务 Freestyle Project。

这个任务名称是可以随意定义的。根据你这个项目的实际情况出发。

不止是字母和下划线。我们还可以输入中文任务名称。

我们创建完任务之后,将会自动进入配置界面

这个界面,我们之后可以随时进行访问操作。而JenKins之中每个任务的脚本和执行规则,构造规则等全部是在这个界面中进行配置的。

2.1 配置General信息

在General中我们配置的是通用信息,所有任务都有的配置项。

描述:介绍这个任务的功能任务。让其他人使用的时候了解这个任务的主要作用。

填写个描述就可以了。下面的这些选项我们可以保持默认,并不影响我们的构建任务。

之后深入学习的时候再介绍。

2.2 源码管理

JenKins 默认安装插件的时候就有了Git的插件。所以通常默认情况下有两个选择:无,Git。

我们选择Git,然后在Repository URL 中配置我们的Git仓库地址,这个地址格式可以是HTTPS也可以是SSH的。

我们把路径拷贝上去之后,会提示下面的错误:code 128错误

Failed to connect to repository : Command "git.exe ls-remote -h -- https:我们的git 路径地址 HEAD" returned status code 128: stdout: stderr: fatal: Cannot prompt because user interactivity has been disabled. remote: HTTP Basic: Access denied fatal: Authentication failed for 'https:我们的git 路径地址'

这个错误很简单,因为Git 访问上面的路径后,没有权限。我们需要在Credentials 下面选择或者添加我们Git的账户密码。

2.2.1 添加Git 账号。方便进行拉取

通常这一步不用我们自己配置。公司环境搭建完毕后。应该给JenKins 分配一个Git超级账户。然后后面大家只需要关注Repository URL。然后这个凭证选择就可以了。

我们需要添加一个Domain:全局凭证(unresricted),类型为 Username with password的凭证。

然后输入我们的git用户名以及密码。

然后点击保存,其他的ID和描述等可以省略掉。

然后Credentials 下拉。选择我们刚才配置的账户。这个时候 code 128错误 就没有了。

2.2.2 Branches to build 管理分支

我们如果Git 上有很多的分支,那么任务肯定是要打不同的分支的。

这个时候我们就要在上面标注我们需要打哪个分支。

例如我的Git上有两个分支,一个是默认的master分支,一个是我新开的v2.0分支

那么我们可以如下配置:

其他的配置项,我们可以暂时不用理会。

2.3 构建触发器

顾名思义,就是我们可以配置各种脚本或者触发条件。当条件满足的情况下JenKins自动帮我们进行构建项目。

可以减少我们自己手动点击的过程。

构建触发器暂时用不上。我们可以省略掉,之后等我们熟悉之后或者进阶情况下,我们可以使用构建触发器。

本次我们就省略掉这一步骤。

2.4 构建环境

构建环境,我们其实也可以保持默认的状态即可。

因为构建过程中,JenKins会从本地拉取各种信息和配置数据,如果你的配置数据要进行每次的修改替换。

你可以选择第一项:Delete workspace before build starts : 在开始构建之前删除工作区。

这个工作区就是我们任务下面的:工作空间。

本次我们也省略这一步的配置。

保持默认即可。

2.5 构建-build

现在就进入核心关键点了。我们要进行构建脚本的配置,告诉JenKins 如何进行任务的构建了,也就是所谓的Build。

首先:Invoke Gradle scropt 调用Gradle 脚本。android sdk打包,现在都是使用的Gradle脚本进行打包的。

如果我们本地有安装很多Gradle 插件,那么可以在下拉列表中选择。如果没有的话。

就会显示Default。我们在编译后,就会出现Gradle.bat 文件找不到的错误了。建议进行安装之后,再进行选择

例如:

(PS:如果不知道安装可以参考我的这篇文章:Jenkins 构造失败,控制台输出:gradle.bat 不是内部或者外部命令 -解决方法 (zinyan.com))

选择完毕后,我们要配置Tasks。其实脚本命令和我们在Android Studio 中的Gradle 面板中的Task是一样的。

只是原先是在Android Studio中调用。而这次是通过Jenkins调用。

效果如下:

在tasks 中输入:

代码语言:javascript
复制
app:clean
app:assembleRelease

就可以了。

2.6 构建后操作

我们配置完毕后,就要配置构建后的存储路径了。

这个路径,不是说JenKins帮我们存储的路径。而是告诉jenkins 从哪个目录下获取构造结果。

然后jenkins再根据这个路径在网页中提供一个访问链接。

配置方法:示例

全部配置完毕后,我们只要点击构建等待结果即可。

3. 执行构建操作

按照上述操作,配置完毕后。点击右侧这个按钮。

注意:构建页面在你点击之后不会立马有反应。你点击之后等个几秒到十几秒。看看有没有构建状态在执行。

之后就等待构建状态了。你可以在构建状态上看到信息。

在JenKins中你看到的Build Now 功能菜单也是用来构建的。点击也是将指定的任务进行构建操作。

如果成功就是绿色的成功提示符,如果是失败就是红色的警告符。

例如:

上面的就是成功了,下面的就是失败了。

然后成功后的效果如下图:

我们上面的最后一次成功的构建结果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 zinyan 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 1.准备工作
  • 2.创建Jenkins 项目
    • 2.1 配置General信息
      • 2.2 源码管理
        • 2.2.1 添加Git 账号。方便进行拉取
        • 2.2.2 Branches to build 管理分支
      • 2.3 构建触发器
        • 2.4 构建环境
          • 2.5 构建-build
            • 2.6 构建后操作
            • 3. 执行构建操作
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档