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

GitLab.com CI разделяет бегун для проектов Android

Я хотел бы использовать систему GitLab CI для моего проекта приложения Android gradle. Репозиторий проекта размещен на GitLab.com, поэтому я хотел бы использовать один из общих бегунов, предоставляемый Gitlab Inc.
В то время как официальный учебник предоставляет пример конфигурации прогона проекта NodeJS, а также общие участники для проектов Ruby, я не смог найти ни одного примера или даже бегуна, поддерживающего Android Приложения.

  • Есть ли общий бегун , предоставляемый GitLab.com, который поддерживает проекты Android из коробки (указав image: android:4.2.2 или что-то вроде этого)?
  • Есть ли способ настроить существующий общий бегун, предоставляемый GitLab.com для поддержки проектов Android (путем изменения файла .gitlab-ci.yml)?
4b9b3361

Ответ 1

Я использую это изображение докеров для запуска сборки Android на gitlab-ci

Обновление:

Переместился в реестр Gitlab

image: registry.gitlab.com/showcheap/android-ci:latest

before_script:
    - export GRADLE_USER_HOME=`pwd`/.gradle
    - chmod +x ./gradlew

cache:
  paths:
     - .gradle/wrapper
     - .gradle/caches

build:
  stage: build
  script:
     - ./gradlew assemble

test:
  stage: test
  script:
     - ./gradlew check

Полное руководство может проверить этот репозиторий Gitlab: https://gitlab.com/showcheap/android-ci

Если ваша целевая версия SDK и версия Build Tools не указана в списке, пожалуйста, сделайте запрос на растяжение или измените мое репо, а затем создайте свою собственную целевую версию и версию сборки.

Ответ 2

Это файл .gitlab-ci.yml, который я использую в моем проекте Android. Поскольку я изменил его, чтобы установить один компонент за раз, он довольно стабилен. Иногда лицензия не может быть принята, и сборка не выполняется. Но это редкий случай. Важно, чтобы ваши инструменты сборки были такими же, как в этом script (build-tools-23.0.3), возможно, вам нужно изменить script здесь.

Вы можете оставить объявление artifacts, которое я использую для получения отчета lint.

before_script:
  - apt-get --quiet update --yes
  - apt-get --quiet install --yes wget tar unzip openjdk-7-jdk lib32stdc++6 lib32z1
  - wget --quiet --output-document=android-sdk.tgz https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
  - tar --extract --gzip --file=android-sdk.tgz
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter android-23
  - 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-23.0.3
  - 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
  - wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.12-bin.zip
  - unzip -q gradle.zip
  - export ANDROID_HOME=$PWD/android-sdk-linux

build:
  script:
    - gradle-2.12/bin/gradle assembleDebug check --stacktrace
  artifacts:
    paths:
    - library/build/outputs/lint-results.html
    - app/build/outputs/lint-results.html

Ответ 3

ОБНОВЛЕНИЕ

В соответствии с этим post вам нужно настроить свой собственный бегун.

Более подробную информацию о создании приложений для Android вы найдете в том же сообщении.