AndroidアプリケーションgradleプロジェクトにGitLabCIシステムを使用したい。プロジェクトリポジトリは GitLab.com でホストされているので、1つ使用したいGitlabInc。が提供する共有ランナーの.
公式チュートリアル 提供 NodeJSプロジェクトランナー構成の例であり、Rubyプロジェクトの共有ランナーもありますが、例が見つかりませんでしたまたはAndroidアプリケーションをサポートするランナーですら。
image: Android:4.2.2
などを指定することにより)?このDockerイメージを使用してAndroid build on 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とビルドツールのバージョンがリストされていない場合は、プルリクエストを行うか、リポジトリをフォークしてから、カスタムターゲットとビルドバージョンを作成してください。
これは .gitlab-ci.yml
Androidプロジェクトで使用しているファイル。一度に1つのコンポーネントをインストールするように変更したため、かなり安定しています。ライセンスを受け入れられず、ビルドが失敗することがあります。 。しかし、それはまれなケースです。ビルドツールがこのスクリプトと同じであることが重要です(build-tools-23.0.3
)ここでスクリプトを変更する必要があるかもしれません。
Lintレポートを取得するために使用するartifacts
宣言は省略できます。
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