IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 使用Jenkins+Gitlab集成Flutter自动化打包(Android),并发布到蒲公英 -> 正文阅读

[移动开发]使用Jenkins+Gitlab集成Flutter自动化打包(Android),并发布到蒲公英

本文记录一下使用Jenkins+Gitlab集成Flutter自动化打包的过程。

在集成时,Jenkins和Gitlab是已经搭建好的,并且Gitlab上已经上传了Flutter项目。

Jenkins自动构建打包

安装Gitlab插件

因为Jenkins默认使用的是Github仓库,所以需要安装Gitlab的插件才可以实现配合工作。

根据路径打开页面 首页 -> Manage Jenkins -> Manage Plugins

选择可选插件选项卡,搜索gitlab一般第一项就是我们要安装的Gitlab插件。(因为我已经安装完了,所有没有搜索到)。安装完成后,会在已安装中出现,如下图

Jenkins上创建视图及任务

跳过创建视图的操作,创建一个名为XX_Android_Test的任务,创建任务的名称时,最好把环境带上。选择Freestyle project

配置任务

点开刚才创建的任务的配置选项,按照如下步骤配置任务。

配置源码管理

源码选择Git选项,需要填写其中的三项,项目地址,登录账号和指定分支。
可以发现登录账号我们之前并没有配置过,点击添加按钮,进入配置页,并且按照如下图片配置

源码管理至此配置完成。配置完可以点击保存,然后在任务视图的工作空间选项中查看是否已经能看到代码,能查看到说明已经配置成功。

配置自动构建

Jenkins的自动构建触发机制有很多种,这里就不多说了。我想要实现的是当Gitlab的代码有变化时,自动触发构建。

可以看到我选择的构建触发条件是Build when a change is pushed to GitLab。如果没有安装Gitlab Plugin插件,是没有这个选项的。

接下来一步就是要配置Gitlab Webhook,这一步的目的是让gitlab主动通知Jenkins进行构建。

记住Gitlab Webhook Url这个地址。
点击高级选项,点击generate生成secret token

登录Gitlab网页,找到对应的项目,进入项目视图,根据下图配置Gitlab Webhook UrlSecret token

点击增加Web钩子,后会在下方生成一条记录

Test处可以手动触发钩子操作,比如点击Push Events,切换到Jenkins页面后就会发现 开始构建了

配置构建脚本

构建模块中选择Execute Shell使用脚本构建,写入flutter打包命令,并在打包完成之后,打印产物目录。

flutter build apk --release -v --split-per-abi
ls build/app/outputs/apk/release/

到这里就配置完成了,让我们来试一下!

测试自动构建

在IDE中随便修改下,push到远程的test分支,切换到Jenkins控制台,发现触发自动构建了,可是却是一个红色的X~~

点开日志,看到是:

+ flutter build apk --release -v --split-per-abi
/home/jenkins/apache-tomcat-8.5.69/temp/jenkins4951377557025618866.sh:行2: flutter: 未找到命令
Build step 'Execute shell' marked build as failure
Finished: FAILURE

服务器安装Flutter环境

错误信息很明确,处理方式也非常简单,直接上官网链接入门: 在Linux上搭建Flutter开发环境

Jenkins配置环境变量

在配置好Flutter环境且在服务器端使用flutter doctor能正常使用flutter命令之后,还需要给Jenkins配置环境变量,否则Jenkins依然会报错。

在Jenkins首页 -> Manage Jenkins -> Configure System -> Global Properties(全局属性)中,勾选Environment variables,键填写为"PATH",值填写在服务器端执行命令echo $PATH输出的值,点击保存后即可生效。如下图:
在这里插入图片描述

服务器安装Android环境

配置好Flutter环境后,再次尝试,发现还是报错了。Android Sdk环境还没有!可以参考我的另一篇Linux安装Android Sdk

测试成果

各种环境都配置好后,重启执行一次构建,等待日志输出。
在这里插入图片描述
在日志中可以发现,第一次构建时,会自动下载gradle环境。
在这里插入图片描述
最终打包成功,并且执行了我们的打印输出目录的命令,登录服务器查看workspace中的输出目录,确实生成了打包后的产物。

第一步完成!

打包产物自动上传到蒲公英

Jenkins安装蒲公英插件

上传到蒲公英需要Jenkins安装Upload to pgyer插件,按照下图操作
在这里插入图片描述

配置构建后操作

在任务的配置视图中,我们在最后一项"构建后操作"中添加一步操作。蒲公英对v1版本的api不再维护,因此建议选择v2进行集成。
在这里插入图片描述

在这里插入图片描述
api_key在蒲公英的Api信息中复制过来,安装包位置默认为${WORKSPACE}/build/app/outputs/apk/release,安装包选择更加通用的v7版本app-armeabi-v7a-release.apk

在右下角的高级设置中,可以实现更多的功能。

  • buildName:指定上传后的App name
  • buildInstallType: (选填)应用安装方式,值为(1,2,3,默认为1 公开安装)。1:公开安装,2:密码安装,3:邀请安装
  • buildPassword:(选填) 设置App安装密码,密码为空时默认公开安装
  • buildUpdateDescription:(选填) 版本更新描述,请传空字符串,或不传。
  • buildChannelShortcut: (选填)所需更新的指定渠道的下载短链接,只可指定一个渠道,字符串型,如:abcd。渠道需在蒲公英平台提前创建。
  • qrcodePath:(选填)可以选择把二维码下载下来,这是下载路径
  • envVarsPath:(选填)存储上传日志的地址,不填表示不存

测试结果

执行构建,一次成功!查看蒲公英平台也已经更新版本。
在这里插入图片描述

结束

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:32:03  更:2021-08-10 13:33:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 0:27:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码