Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muhrifqii/mendelevium-android-ci
A docker image for building Android apps. Supports API 34 with Java 17. npm, yarn, and RubyGem also included
https://github.com/muhrifqii/mendelevium-android-ci
android android-sdk build-tools bundle capacitor-android ci docker-image fastlane ionic-framework npm react-native rubygem yarn
Last synced: 28 days ago
JSON representation
A docker image for building Android apps. Supports API 34 with Java 17. npm, yarn, and RubyGem also included
- Host: GitHub
- URL: https://github.com/muhrifqii/mendelevium-android-ci
- Owner: muhrifqii
- License: mit
- Created: 2024-07-12T08:51:16.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-08-05T08:25:03.000Z (3 months ago)
- Last Synced: 2024-09-30T16:29:57.442Z (about 1 month ago)
- Topics: android, android-sdk, build-tools, bundle, capacitor-android, ci, docker-image, fastlane, ionic-framework, npm, react-native, rubygem, yarn
- Language: Dockerfile
- Homepage:
- Size: 20.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Mendelevium Android CI
An all-in-one build tools for android Deployment
---
## Summary
- [About Image](#about-image)
- [Image Tags](#image-tags)
- [CI Example](#ci-example)## About image
This docker image contains required tools for building Android applications, especially in CI environment
It contains:
- Base OS tools (from base Ubuntu Noble)
- OpenJDK 17 `v17.0.11`
- Python3 `v3.12`
- Ruby and Bundler (used for fastlane use-case) on `rbenv`
- Node, npm, and yarn (used for react-native or ionic use-case) on `nvm`
- Android Command Line Tools (version `11076708`)On `min` version, it only includes the base tools for android (without ruby and node)
## Image Tags
At the moment, repository tag (``) is based on android api version (``) and patch (e.g. `34.1`)Currently tools matrix (``) used are:
- default
- `min`
- `node20`
- `node22`Currently available os (``) are:
- `noble`Image Tag Format is `--`
Default Tool Matrix Image Tag Format is `` and `latest`
## Gitlab CI Example
Using default tag
```yml
build:
stage: build
image: muhrifqii/mendelevium-android-ci:34.1
script:
- npm install
- npm run build
after_script:
# copying generated build for saving it as an artifact
- cp $CI_PROJECT_DIR/android/app/build/outputs/apk/debug/app-debug.apk my-app-debug.apk
artifacts:
paths:
- my-app-debug.apk
expire_in: 1 month
public: false
```
```yml
deploy:
stage: deploy
image: muhrifqii/mendelevium-android-ci:34.1
script:
- bundle install
- RUBYOPT="-rostruct" bundle exec fastlane myDeployment
```Using image with tools matrix
```yml
build:
stage: build
image: muhrifqii/mendelevium-android-ci:34-node20-noble
script:
- npm install
- npm run build
after_script:
# copying generated build for saving it as an artifact
- cp $CI_PROJECT_DIR/android/app/build/outputs/apk/debug/app-debug.apk my-app-debug.apk
artifacts:
paths:
- my-app-debug.apk
expire_in: 1 month
public: false
```
```yml
deploy:
stage: deploy
image: muhrifqii/mendelevium-android-ci:34-node20-noble
script:
- bundle install
- RUBYOPT="-rostruct" bundle exec fastlane myDeployment
```