掌握使用gitlab ci构建安卓包的正确方法。

掌握使用gitlab ci构建安卓包的正确方法。

最近,该公司正致力于移动项目,所以它自然需要建立一个包装环境。我最初计划使用詹金斯,但发现在gitlab上创建项目后,有人提示我配置管道,所以我决定在gitlab上试用。毕竟,我认为詹金斯的配置太复杂了。

gitlab-runner

在gitlab中,gitlab-runner相当于Jenkins中的slave概念,因此您需要首先为项目配置一个runner。Gitlab-runner分为三种类型:共享型、群组型、特定型。其中:

共享运行程序相当于一个全局运行程序,所有项目都可以使用。

组运行器相当于为组设置运行器,因此可以使用组中的所有项目。

顾名思义,特定跑步者是项目中唯一的跑步者。只有这个项目可以使用。

就我个人而言,我建议使用格鲁朗。您可以根据不同类型的项目创建不同的组,如安卓、IOS、服务器等。然后,您可以为每个组创建一个相应的组运行器,这不会相互影响,也不需要为每个项目单独创建一个运行器。

安装gitlab转轮

Gitlab-runner需要安装在您的包装机上。在不同的平台上,gitlab-runner以不同的方式安装。请参考官方文件:https://docs.gitlab.com/runner/install/.以苹果为例:

下载文件

$ sudo curl-output/usr/local/bin/git lab-runner https://git lab-runner-downloads . S3 . Amazon AWS.com/latest/binary/git lab-runner-Darwin-amd64

配置权限

sudo chmod x/usr/local/bin/git lab-runner

启动gitlab runner

gitlab-runner安装

gitlab-runner start

注册gitlab-runner

[根@app3 ~]# sudo gitlab-runner寄存器

运行时平台arch=amd64 os=linux pid=6324修订版=1b659122版本=12.8.0

以系统模式运行。

请输入国际博协协调人网址:

http://192.168.4.194/

请为此运行程序输入gitlab-ci令牌:

rbLy6bwsNbTuzD_6Bma4

请输入此运行程序的gitlab-ci描述:

请输入此跑步者的gitlab-ci标签(逗号分隔):

testandroid

注册跑步者.成功的跑步者=rbLy6bws

请输入执行器: parallels,docker-ssh机器,custom,docker-ssh,shell,ssh,virtualbox,docker machine,kubernetes,docker:

码头工人

请输入默认的码头工人图像(例如,ruby:2.6):

jangrewe/gitlab-ci-android

跑步者注册成功。可以随意启动它,但是如果它已经在运行,那么应该自动重新加载配置!

执行上述命令后,gitlab-runner可以在gitlab中注册。需要解释执行命令时输入的几个参数。其中,gitlab-ci协调器的网址和gitlab-ci令牌可以从项目的设置-CI/光盘-运行者(组需要主权限)中查看,如下图所示:

Gitlab-ci描述是对跑步者的描述,可以根据情况填写。

Gitlab-ditags是runner的标签,将在以后的配置文件中使用。

输入执行器是用于配置跑步者的执行器。如果您需要执行一个shell脚本,它可以是一个shell。我们在这里使用docker,使用一个包含Android环境的容器:jangrewe/gitlab-ci-android。

此外,应该注意的是,gitlab-runner的注册信息也可以在gitlab所在的服务器的/etc/gitlab-runner/config.toml配置文件中修改。

重启gitlab-runner

应该注意的是,在gitlab注册了一个新的runner之后,gitlab-runner需要重新启动,这样注册的runner才能生效。当我在操作时,我花了很多时间解决问题,因为我没有重启。事实上,只要重启就可以解决。

检查gitlab-runner的状态

配置后,您可以在项目的设置-配置项/光盘/光盘中检查新添加的转轮是否处于运行状态,如下图所示:

配置安卓工程

配置完runner后,下一个任务是配置Android项目,只需创建。gitlab-ci.yml配置文件,然后填写您想要实现的步骤,有点类似于Jenkins中的管道脚本。然而,它认为gitlab ci的配置更简单。我的项目中的配置文件如下:

图像: gitlab-ci-android : v2 #用于编译android项目的图像

变量:

Gradle _ opts 3360 '-dorg . gradle . daemon=false ' #禁用gradle守护程序

before_script:

#配置梯度缓存目录

导出GRADLE_USER_HOME=/cache/。gradle

获取权限

chmod x ./gradlew

chmod x ./update-version-code.sh

阶段3360

build

提交代码自动编译

build:

阶段:构建

仅:

-主人

script:

-。/grad Lew AssembliedBug

tags:

-安卓

构建测试包

qa:

阶段:构建

仅:

- qa

script:

-。/grad Lew AssembliedBug

- sh -x /cache/deploy-android.sh

artifacts:

路径:

- app/build/outputs/apk/debug/

tags:

-安卓

上述配置的一般含义是:当开发人员向qa分支提交代码时,它将触发测试包的构建。软件包完成后,软件包将上传到文件服务器,以便于下载和安装。

最后,最后一个gitlab渲染:

摘要

总的来说,这很简单吗?每个人都可以直接在gitlab上播放ci/cd,这大大降低了成本。所以,如果你还没有制作电脑接口/光盘,你可以考虑直接用gitlab播放。

原地址:https://www.cnblogs.com/zhouliweiblog/p/12677635.html