+420 603 755 610
info@inited.cz
INITED Solutions s.r.o.
  • Domů
  • Služby
    • Vývoj mobilních aplikací
    • Záchrana projektů
    • Konzultace
    • Provoz a rozvoj mobilních aplikací
  • Pro agentury
  • Ukázky naší práce
  • Blog
  • Kontakt

Ionic Docker Android build

Home Wiki 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 git@bitbucket.org

Stáhnu zdrojové kódy:
$ git clone git@bitbucket.org: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>

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Prague
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

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


# jen na praci v prikazovem radku:
RUN apt-get -y install vim less

# kdyz pouzivam node-sass, ktery nenabizi binarku ke stazeni:
#RUN apt-get -y install python build-essential


# 15.11.2021 vypada to, ze gradle uz neni potreba
# 21.11.2023 je potreba pro "cordova build android" :)
RUN \
 cd /usr/local && \
 curl -L https://services.gradle.org/distributions/gradle-7.6-bin.zip -o gradle.zip && \
 unzip gradle.zip && \
 rm gradle.zip

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


# https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
# https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip

RUN mkdir -p /opt/android/sdk && \
 curl -L https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.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-19-openjdk-amd64
ENV ANDROID_SDK_ROOT /opt/android/sdk


# 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


#RUN apt-get -y install openjdk-19-jdk
#ENV JAVA_HOME /usr/lib/jvm/java-19-openjdk-amd64

# Update and install using sdkmanager
RUN $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=$ANDROID_SDK_ROOT "tools" "platform-tools" && \
 $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=$ANDROID_SDK_ROOT "build-tools;33.0.2" && \
 $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=$ANDROID_SDK_ROOT "platforms;android-33"

RUN npm i -g cordova-res
RUN chmod -R 777 /usr/lib/node_modules

#RUN useradd -ms /bin/bash user
#USER user
#WORKDIR /home/user

  • Domů
  • Služby
  • Blog
  • Ukázky naší práce
  • Kontakt
© 2023 Created by Provocado