abcfy2 / docker_node_android

Base docker image with node and android for ionic or cordova.

Home Page:https://hub.docker.com/r/abcfy2/node_android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node android docker image

Docker Build (Debian) Docker Build (Alpine) Docker Pulls Latest Tag

Base docker image with node and android for ionic or cordova.

Github repository: abcfy2/docker_node_android

Supported tags and respective Dockerfile links

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

About

Base docker image with node and android for ionic or cordova.

https://hub.docker.com/r/abcfy2/node_android