Подтвердить что ты не робот

Создание Android-сборки с помощью Gitlab CI

Я только что установил Gitlab в качестве репозитория для своих проектов, и я хочу воспользоваться преимуществами их системы Gitlab CI. Я хочу автоматически генерировать дистрибутив и отлаживать Apk после каждой фиксации. Я googled но я не нашел что-нибыдь как учебник или подобные случаи. Если бы кто-то мог меня каким-то образом научить, это было бы здорово.

Спасибо!

4b9b3361

Ответ 1

Я только что написал сообщение в блоге как настроить Android в Gitlab CI с помощью общих участников.

Самый быстрый способ - иметь .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 Docker, затем переходит к загрузке и установке необходимых битов Android SDK до запуска вашей сборки. В моем сообщении также подробно описывается, как вы можете создать это изображение Docker и разместить его на самом Gitlab.

Надеюсь, это поможет!

ОБНОВЛЕНИЕ - 4/10/2017

Я написал каноническое сообщение в блоге о настройке Android в Gitlab CI еще в ноябре '16 для официального блога Gitlab. Включает подробную информацию о том, как запускать тесты и т.д. Ссылка здесь.

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

Ответ 2

Вы можете добавить шаг сборки в проект GitLab CI, как показано ниже.

gradle assemble

enter image description here

Это приведет к отладке и выпуску APK для фиксации, нажатой на:

/build/outputs/apk/

Затем вы можете написать script для архивирования сгенерированного APK, как вам нужно.

Ответ 3

А как насчет шутки? Как я могу отредактировать gitlab-ci.yml, чтобы добавить тесты?