sitio - GitLab.com corredor compartido de CI para proyectos de Android
register gitlab (3)
Me gustaría usar el sistema GitLab CI para mi proyecto gradle de aplicaciones para Android. El repositorio del proyecto está alojado en GitLab.com , así que me gustaría usar uno de los corredores compartidos proporcionados por Gitlab Inc.
Si bien el tutorial oficial provides un ejemplo para la configuración del corredor de proyectos NodeJS y también hay corredores compartidos para los proyectos de Ruby, no pude encontrar ningún ejemplo o incluso un corredor que admita aplicaciones de Android.
- ¿Existe un corredor compartido provisto por GitLab.com , que admita proyectos de Android fuera de la caja (especificando
image: android:4.2.2
o algo así)? - ¿Hay alguna forma de configurar el corredor compartido existente proporcionado por GitLab.com para que sea compatible con proyectos de Android (modificando el archivo .gitlab-ci.yml )?
ACTUALIZAR
Según esta post deberás configurar tu propio corredor.
Encontrarás más información sobre cómo construir aplicaciones de Android en la misma publicación.
Este es el archivo .gitlab-ci.yml
que estoy usando en mi proyecto de Android. Desde que lo cambié para instalar un componente a la vez es bastante estable. A veces la licencia no puede ser aceptada y la compilación falla. Pero eso es un caso raro. Es importante que sus herramientas de compilación sean las mismas que en este script ( build-tools-23.0.3
), tal vez tenga que cambiar el script aquí.
Puede omitir la declaración de artifacts
que utilizo para obtener el informe de pelusas.
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
Estoy usando esta imagen docker para ejecutar Android build en gitlab-ci
Actualizar:
Trasladado al registro de 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
La guía completa puede consultar este repositorio de Gitlab: https://gitlab.com/showcheap/android-ci
Si su versión de Target SDK y Build Tools no están en la lista, haga una solicitud de extracción o bifurque mi repositorio y luego haga su destino personalizado y compile la versión.