秦皇岛景点:掌握使用gitlab ci构建Android包的准确方式

admin 10个月前 (04-11) 科技 48 0

最近公司在做移动端的项目,自然而然的需要搭建打包的环境。原本设计用Jenkins的,然则发现在gitlab上建立完项目后,提醒去设置pipeline,于是决议用gitlab去实验下,究竟我以为Jenkins的设置过于庞大了。

gitlab-runner

在gitlab中,gitlab-runner相当于Jenkins中的slave的观点,以是首先需要给项目设置一个runner。gitlab-runner分为三种:Shared Runner、Group Runner、Specific Runner。其中:

  • Shared Runner相当于全局的runner,所有的项目都可以使用。
  • Group Runner相当于给一个分组设置runner,因此,分组中所有的项目都可以使用。
  • Specific Runner顾名思义,就是项目特有的runner。只有这一个项目才气使用。

小我私家建议使用Group Runner,你可以凭据差别种类的项目,建立差别的分组,好比:Android、IOS、服务端等,然后针对每个分组建立对应的Group Runner,这样相互之间不会有影响,同时又不需要为每个工程单独建立runner。

安装gitlab-runner

需要在你的打包机械上安装gitlab-runner,在差别的平台上,安装gitlab-runner的方式不一致,可以参考官方文档:https://docs.gitlab.com/runner/install/。这里以mac为例:

# 下载文件
$ sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
# 设置权限
sudo chmod +x /usr/local/bin/gitlab-runner
# 启动gitlab runner
gitlab-runner install
gitlab-runner start

注册gitlab-runner

[root@app3 ~]# sudo gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=6324 revision=1b659122 version=12.8.0
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.4.194/
Please enter the gitlab-ci token for this runner:
rbLy6bwsNbTuzD_6Bma4
Please enter the gitlab-ci description for this runner:
[app3]: testandroid
Please enter the gitlab-ci tags for this runner (comma separated):
testandroid
Registering runner... succeeded                     runner=rbLy6bws
Please enter the executor: parallels, docker-ssh+machine, custom, docker-ssh, shell, ssh, virtualbox, docker+machine, kubernetes, docker:
docker
Please enter the default Docker image (e.g. ruby:2.6):
jangrewe/gitlab-ci-android
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

执行上面的下令,就能将gitlab-runner注册到gitlab中,需要说明下执行下令时输入的几个参数,其中gitlab-ci coordinator URL和gitlab-ci token可以从项目(Group需要master权限)的Settings—>CI/CD—>Runners中查看,如下图所示:

gitlab-ci description是对runner的形貌,凭据情形填写即可。

gitlab-ci tags 是runner的标签,在后面的设置文件中会用到。

enter the executor是设置runner使用的执行器,可以是shell,若是你需要执行shell剧本的话。我们这里使用的是docker,使用了一个包罗Android环境的容器:jangrewe/gitlab-ci-android。

另外,需要注重,在gitlab所在服务器的/etc/gitlab-runner/config.toml设置文件中也可以对gitlab-runner的注册信息举行修改。

重启gitlab-runner

需要注重的是,往gitlab注册一个新的runner之后,需要将gitlab-runner举行重启,这样,注册的runner才气生效。我在操作的时刻,由于没有重启,花了很多多少时间解决泛起的问题。实在只要重启即可解决。

检查gitlab-runner的状态

设置好之后,可以在项目的settings—>CI/CD中查看新增的runner是否是running状态,如下图所示:

设置Android工程

runner设置好后,接下来的事情就是设置Android项目,只需要在工程目录下建立.gitlab-ci.yml设置文件,然后往里面填充你想要实现的步骤即可,有点类似Jenkins中的pipeline剧本。不外,感受gitlab ci的设置加倍简朴一些。我项目中的设置文件如下所示:

image: gitlab-ci-android:V2 # 用来编译 android 项目的镜像

variables:
  GRADLE_OPTS: "-Dorg.gradle.daemon=false" # 禁用 gradle 守护历程

before_script:
  #  设置 gradle 的缓存目录
  - export GRADLE_USER_HOME=/cache/.gradle
  #  获取权限
  - chmod +x ./gradlew
  - chmod +x ./update-version-code.sh

stages:
  - build

# 提交代码自动编译
build:
  stage: build
  only:
    - master
  script: 
    - ./gradlew assembleDebug
  tags:
    - android

# 构建测试包
qa:
  stage: build
  only:
    - qa
  script:
    - ./gradlew assembleDebug
    - sh -x /cache/deploy-android.sh
  artifacts:
    paths:
      - app/build/outputs/apk/debug/
  tags:
    - android

上面设置的大致意思是:当开发往qa分支提交代码时,会触发构建测试包,打包完成后,会将包上传到一个文件服务器上,利便下载安装。

最后上一个gitlab的效果图:

秦皇岛景点:掌握使用gitlab ci构建Android包的准确方式 第1张

总结

整体来看,是不是挺简朴的,人人可以直接在gitlab上玩ci/cd,大大降低了成本。以是若是人人现在还没有将CI/CD做起来的,人人可以思量直接用gitlab来玩。

,

sunbet

www.Lfstncnynmzyhzs.com信誉来源于每一位客户的口碑,Sunbet的服务在sunbet行业是出名的顶尖,广西禄福生态农业开发有限责任公司欢迎新老会员、代理的加入。

Sunbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:秦皇岛景点:掌握使用gitlab ci构建Android包的准确方式

网友评论

  • (*)

最新评论

文章归档

站点信息

  • 文章总数:823
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1274
  • 评论总数:542
  • 浏览总数:36302