使用Gitlab CI生成Android构建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Gitlab CI生成Android构建相关的知识,希望对你有一定的参考价值。

我刚刚安装了Gitlab作为我的项目的存储库,我想利用他们的Gitlab CI系统。我希望在每次提交后自动生成分发并调试Apk。我用Google搜索,但我没有找到任何教程或类似案例。如果有人能以某种方式指导我,那就太好了。

谢谢!

答案

我刚刚写了一篇关于how to setup Android builds in Gitlab CI using shared runners的博客文章。

最快的方法是使用以下内容的.gitlab-ci.yml

image: openjdk:8-jdk

variables:
  android_TARGET_SDK: "24"
  ANDROID_BUILD_TOOLS: "24.0.0"
  ANDROID_SDK_TOOLS: "24.4.1"

before_script:
  - apt-get --quiet update --yes
  - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
  - wget --quiet --output-document=android-sdk.tgz https://dl.google.com/android/android-sdk_r${ANDROID_SDK_TOOLS}-linux.tgz
  - tar --extract --gzip --file=android-sdk.tgz
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter android-${ANDROID_TARGET_SDK}
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter platform-tools
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter build-tools-${ANDROID_BUILD_TOOLS}
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-google-google_play_services
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository
  - export ANDROID_HOME=$PWD/android-sdk-linux
  - chmod +x ./gradlew

build:
  script:
    - ./gradlew assembleDebug
  artifacts:
    paths:
    - app/build/outputs/

这将从使用Java 8 Docker映像开始,然后在构建运行之前继续下载并安装必要的Android SDK。我的帖子还详细介绍了如何将其构建为Docker镜像并将其托管在Gitlab本身上。

希望这有帮助!

更新 - 4/10/2017

我在16年11月为官方Gitlab博客写了关于在Gitlab CI中设置Android版本的规范博客文章。包括有关如何运行测试等的详细信息。链接在这里。

https://about.gitlab.com/2016/11/30/setting-up-gitlab-ci-for-android-projects/

另一答案

您可以向GitLab CI项目添加构建步骤,如下所示。

gradle assemble

这将生成调试并发布提交的APK的提交:

/build/outputs/apk/

然后,您可以编写脚本来存档生成的APK,但是您需要。

以上是关于使用Gitlab CI生成Android构建的主要内容,如果未能解决你的问题,请参考以下文章

通过 CI runner 将文件推送到 gitlab-ci

[ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.

GItlab CI :- 如何使用 Gitlab-CI 在 Android 中创建多个 apk(如开发、登台和生产)?

Artifactory & GitLab CI持续集成实践

Artifactory & GitLab CI持续集成实践

无法从 gitlab-ci.yml 推送