docker file
Some checks failed
Docker Build (Unsigned APK) / Build unsigned APK (push) Failing after 1s
Some checks failed
Docker Build (Unsigned APK) / Build unsigned APK (push) Failing after 1s
This commit is contained in:
7
.dockerignore
Normal file
7
.dockerignore
Normal file
@@ -0,0 +1,7 @@
|
||||
node_modules
|
||||
android/build
|
||||
android/app/build
|
||||
android/.gradle
|
||||
.gradle
|
||||
ios/build
|
||||
.git
|
||||
48
Dockerfile
Normal file
48
Dockerfile
Normal file
@@ -0,0 +1,48 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# System dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl unzip wget git openjdk-17-jdk-headless \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
|
||||
|
||||
# Node.js 18 (required for RN 0.73 CLI compatibility)
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
||||
&& apt-get install -y nodejs \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Android SDK
|
||||
ENV ANDROID_HOME=/opt/android-sdk
|
||||
ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
|
||||
|
||||
RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
|
||||
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdline-tools.zip && \
|
||||
unzip -q /tmp/cmdline-tools.zip -d /tmp/cmdline-tools && \
|
||||
mv /tmp/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest && \
|
||||
rm /tmp/cmdline-tools.zip
|
||||
|
||||
# Accept licenses and install exact SDK components
|
||||
RUN yes | sdkmanager --licenses > /dev/null 2>&1 && \
|
||||
sdkmanager \
|
||||
"platform-tools" \
|
||||
"platforms;android-35" \
|
||||
"build-tools;35.0.0" \
|
||||
"ndk;25.1.8937393"
|
||||
|
||||
ENV ANDROID_NDK_HOME=$ANDROID_HOME/ndk/25.1.8937393
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install JS dependencies
|
||||
COPY package.json package-lock.json ./
|
||||
COPY patches/ ./patches/
|
||||
RUN npm ci
|
||||
|
||||
# Copy rest of the project
|
||||
COPY . .
|
||||
|
||||
# Build release AAB by default; override CMD for APK
|
||||
CMD ["bash", "-c", "cd android && ./gradlew bundleRelease"]
|
||||
Reference in New Issue
Block a user