Refactor, run as root instead
parent
4f41e1b9e5
commit
d5e877ed41
43
Dockerfile
43
Dockerfile
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
# Never ask for confirmations
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
|
|
||||||
# SDK version
|
# SDK version
|
||||||
ENV ANDROID_SDK_VERSION 3859397
|
ENV ANDROID_SDK_VERSION 3859397
|
||||||
|
|
||||||
|
# Never ask for confirmations
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
# Update apt-get
|
# Update apt-get
|
||||||
RUN apt-get -qq update \
|
RUN apt-get -qq update \
|
||||||
&& apt-get -qq install -y --no-install-recommends \
|
&& apt-get -qq install -y --no-install-recommends \
|
||||||
|
@ -29,15 +29,15 @@ RUN wget https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_SDK_V
|
||||||
&& unzip -q sdk-tools-linux-$ANDROID_SDK_VERSION.zip -d /usr/local/android \
|
&& unzip -q sdk-tools-linux-$ANDROID_SDK_VERSION.zip -d /usr/local/android \
|
||||||
&& rm sdk-tools-linux-$ANDROID_SDK_VERSION.zip
|
&& rm sdk-tools-linux-$ANDROID_SDK_VERSION.zip
|
||||||
|
|
||||||
|
# Export JAVA_HOME variable
|
||||||
|
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
ENV ANDROID_HOME /usr/local/android
|
ENV ANDROID_HOME /usr/local/android
|
||||||
ENV ANDROID_SDK_HOME $ANDROID_HOME
|
ENV ANDROID_SDK_HOME $ANDROID_HOME
|
||||||
ENV ANDROID_NDK_HOME $ANDROID_HOME/ndk-bundle
|
ENV ANDROID_NDK_HOME $ANDROID_HOME/ndk-bundle
|
||||||
ENV PATH $ANDROID_HOME/tools/bin:$PATH
|
ENV PATH $ANDROID_HOME/tools/bin:$PATH
|
||||||
|
|
||||||
# Export JAVA_HOME variable
|
|
||||||
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
|
|
||||||
|
|
||||||
# Install Android SDK components
|
# Install Android SDK components
|
||||||
RUN echo "y" | sdkmanager \
|
RUN echo "y" | sdkmanager \
|
||||||
# "ndk-bundle" \
|
# "ndk-bundle" \
|
||||||
|
@ -47,34 +47,11 @@ RUN echo "y" | sdkmanager \
|
||||||
"platforms;android-26" \
|
"platforms;android-26" \
|
||||||
"build-tools;26.0.2"
|
"build-tools;26.0.2"
|
||||||
|
|
||||||
|
# Build directory
|
||||||
|
ENV SRC /src
|
||||||
|
RUN mkdir $SRC
|
||||||
|
WORKDIR $SRC
|
||||||
|
|
||||||
# Support Gradle
|
|
||||||
ENV TERM dumb
|
|
||||||
ENV JAVA_OPTS "-Xms512m -Xmx1024m"
|
|
||||||
ENV GRADLE_OPTS "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000"
|
|
||||||
|
|
||||||
# Add build user account, values are set to default below
|
|
||||||
ENV RUN_USER builder
|
|
||||||
ENV RUN_UID 5000
|
|
||||||
|
|
||||||
RUN id $RUN_USER || adduser --uid "$RUN_UID" \
|
|
||||||
--gecos 'Build User' \
|
|
||||||
--shell '/bin/sh' \
|
|
||||||
--disabled-login \
|
|
||||||
--disabled-password "$RUN_USER"
|
|
||||||
|
|
||||||
# Fix permissions
|
|
||||||
RUN chown -R $RUN_USER:$RUN_USER $ANDROID_HOME
|
|
||||||
RUN chmod -R a+rx $ANDROID_HOME
|
|
||||||
|
|
||||||
# Creating project directories prepared for build when running
|
|
||||||
# `docker run`
|
|
||||||
ENV PROJECT /project
|
|
||||||
RUN mkdir $PROJECT
|
|
||||||
RUN chown -R $RUN_USER:$RUN_USER $PROJECT
|
|
||||||
WORKDIR $PROJECT
|
|
||||||
|
|
||||||
USER $RUN_USER
|
|
||||||
RUN echo "sdk.dir=$ANDROID_HOME" > local.properties
|
RUN echo "sdk.dir=$ANDROID_HOME" > local.properties
|
||||||
|
|
||||||
CMD ["./gradlew", "build"]
|
CMD ["./gradlew", "build"]
|
||||||
|
|
Loading…
Reference in New Issue