Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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
```