プロジェクトのリポジトリとして Gitlab をインストールしたばかりで、Gitlab CI システムを利用したいと考えています。各コミットの後にディストリビューションとデバッグ Apk を自動的に生成したいと考えています。グーグルで検索しましたが、チュートリアルや同様のケースとして何も見つかりませんでした。誰かが私を何らかの方法で導くことができれば、それは素晴らしいことです.
ありがとう!
共有ランナーを使用して 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 日
2016 年 11 月に公式の Gitlab ブログで、Gitlab CI で Android ビルドをセットアップするための正規のブログ投稿を書きました。テストの実行方法などの詳細も含まれています。リンクはこちら。
https://about.gitlab.com/2016/11/30/setting-up-gitlab-ci-for-android-projects/
以下のように、GitLab CI プロジェクトにビルド ステップを追加できます。
gradle assemble
これにより、次の場所にプッシュされたコミットのデバッグ APK とリリース APK が生成されます。
/build/outputs/apk/
その後、必要に応じて、生成された APK をアーカイブするスクリプトを作成できます。