23

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

谢谢!

4

2 回答 2

15

我刚刚写了一篇关于如何使用共享运行器在 Gitlab CI 中设置 Android 构建的博客文章。

最快的方法是具有.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 本身上。

希望这会有所帮助!

更新 - 2017 年 4 月 10 日

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

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

于 2016-09-01T05:36:45.547 回答
3

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

gradle assemble

在此处输入图像描述

这将生成提交的调试和发布 APK 推送到:

/build/outputs/apk/

然后,您可以编写一个脚本来归档您需要的生成的 APK。

于 2015-01-28T11:28:45.563 回答