node android docker image
Base docker image with node and android for ionic or cordova.
Github repository: abcfy2/docker_node_android
Dockerfile
links
Supported tags and respective
Also, all tags should append -java8/java11
to use JAVA 8 or 11, if not provided, default should be JAVA 8.
Usage
docker run --rm -v `pwd`:/app -w /app abcfy2/node_android npx -p ionic -p cordova -- ionic build ...
Gitlab CI example:
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
build:
image: abcfy2/node_android:<tag>
script:
- npm ci
- npx -p ionic -p cordova -- ionic cordova build android --prod --release ...
Working with Gitlab CI cache example:
variables:
ANDROID_SDK_ROOT: "${CI_PROJECT_DIR}/android-sdk"
ANDROID_HOME: "${CI_PROJECT_DIR}/android-sdk"
NPM_CONFIG_CACHE: "${CI_PROJECT_DIR}/npm_cache"
GRADLE_USER_HOME: "${CI_PROJECT_DIR}/gradle_cache"
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dfile.encoding=UTF-8"
default:
before_script:
- yes | sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses || true
after_script:
- GRADLE_WRAPPER_DIR="${GRADLE_USER_HOME:-${HOME}/.gradle}/wrapper"
- '[ -d "${GRADLE_WRAPPER_DIR}" ] && find "${GRADLE_WRAPPER_DIR}" -name "gradle-*.zip" -delete || true'
cache:
paths:
- ${ANDROID_SDK_ROOT}
- ${NPM_CONFIG_CACHE}
- ${GRADLE_USER_HOME}/caches/
- ${GRADLE_USER_HOME}/wrapper/
# ... your build steps here