Ionic Docker Android build

Návod na kompilaci Ionic aplikace v dockeru:

Vytvořím si image, spouštím z adresáře, kde je Dockerfile
$ docker build -t ionic .

Vytvořím a spustím kontejner:
$ docker run -ti ionic:latest

Dále pokračuji v kontejneru
Vytvořím si složku .ssh s klíčem, přenesu privátní a veřejný klíč
$ ssh-keygen
$ cat > ~/.ssh/id_rsa
$ cat > ~/.ssh/id_rsa.pub

Ověřím připojení na bitbucket a přijmu ID vzdáleného stroje:
$ ssh gro.tekcubtib|tig#gro.tekcubtib|tig

Stáhnu zdrojové kódy:
$ git clone gro.tekcubtib|tig#gro.tekcubtib|tig:inited/seznamka.git

Spusím Cordovu a nastavím, že chci / nechci přispívat do statistik (na videu je to až v průběhu kompilace)
$ cordova

Spustím build:
$ ./aprepare.sh
$ ./abuild.sh

Tím získám APK soubor.

Dockerfile:

FROM ubuntu

MAINTAINER INITED Solutions <info@inited.cz>

RUN apt-get update
RUN apt-get -y install curl gnupg unzip git openjdk-8-jdk
RUN curl -sL https://deb.nodesource.com/setup_10.x  | bash -
RUN apt-get -y install nodejs
RUN npm install -g cordova ionic

RUN \
    cd /usr/local && \
    curl -L https://services.gradle.org/distributions/gradle-4.4-bin.zip -o gradle.zip && \
    unzip gradle.zip && \
    rm gradle.zip

ENV PATH ${PATH}:/usr/local/gradle-4.4/bin

RUN mkdir -p /opt/android/sdk && \
    curl -L https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -o tools.zip && \
    unzip tools.zip -d /opt/android/sdk && \
    rm tools.zip

ENV PATH ${PATH}:/opt/android/sdk/tools:/opt/android/sdk/tools/bin:/opt/android/sdk/platform-tools
ENV ANDROID_HOME /opt/android/sdk
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

# Make license agreement
RUN mkdir $ANDROID_HOME/licenses && \
    echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > $ANDROID_HOME/licenses/android-sdk-license && \
    echo d56f5187479451eabf01fb78af6dfcb131a6481e >> $ANDROID_HOME/licenses/android-sdk-license && \
    echo 24333f8a63b6825ea9c5514f83c2829b004d1fee >> $ANDROID_HOME/licenses/android-sdk-license && \
    echo 84831b9409646a918e30573bab4c9c91346d8abd > $ANDROID_HOME/licenses/android-sdk-preview-license

# Update and install using sdkmanager
RUN $ANDROID_HOME/tools/bin/sdkmanager "tools" "platform-tools" && \
    $ANDROID_HOME/tools/bin/sdkmanager "build-tools;28.0.3" && \
    $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-28"
Není-li uvedeno jinak, obsah této stránky je pod licencí Creative Commons Attribution-ShareAlike 3.0 License