File size: 2,602 Bytes
a5a50b3 ee68370 68ab1df a5a50b3 bb35bd4 df61d89 bb35bd4 5086182 bb35bd4 9631a80 bb35bd4 9631a80 a5a50b3 498498c b3a4a15 a1015e8 f20d3e2 498498c ff21f12 2d21e5c ff21f12 118e76b 9631a80 98aad74 9631a80 bb35bd4 1f14a8b 9631a80 a5a50b3 e297faa a5a50b3 1f14a8b a5a50b3 9631a80 a5a50b3 bb35bd4 9631a80 5d9d87c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# 使用するベースイメージを指定
FROM openjdk:11-jdk-slim
# 必要なツールをインストール
RUN apt-get update && apt-get install -y \
wget \
unzip \
git \
&& rm -rf /var/lib/apt/lists/*
# Android SDKのインストール
ENV ANDROID_SDK_ROOT /sdk
RUN mkdir -p /sdk && \
wget -q "https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip" -O cmdline-tools.zip && \
unzip cmdline-tools.zip -d /sdk/cmdline-tools && \
rm cmdline-tools.zip && \
yes | /sdk/cmdline-tools/cmdline-tools/bin/sdkmanager --licenses && \
/sdk/cmdline-tools/cmdline-tools/bin/sdkmanager \
"platform-tools" \
"platforms;android-33" \
"build-tools;33.0.2"
# Gradleの設定
ENV GRADLE_VERSION 7.6
RUN wget -q https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-all.zip -P /tmp && \
unzip /tmp/gradle-$GRADLE_VERSION-all.zip -d /opt && \
rm /tmp/gradle-$GRADLE_VERSION-all.zip && \
ln -s /opt/gradle-$GRADLE_VERSION /opt/gradle && \
ln -s /opt/gradle/bin/gradle /usr/bin/gradle
# Gradleのキャッシュディレクトリをプロジェクトディレクトリ内に変更
ENV GRADLE_USER_HOME=/app/webTube/.gradle
# 必要なディレクトリを作成し、パーミッションを設定
RUN mkdir -p /app/webTube/.gradle/wrapper/dists/gradle-7.6-bin && \
chmod -R 777 /app/webTube/.gradle
RUN chmod -R 777 /app/webTube/
RUN mkdir -p /app/webTube/.gradle/wrapper/dists/gradle-7.6-bin/9l9tetv7ltxvx3i8an4pb86ye/ && \
chmod -R 777 /app/webTube/.gradle/wrapper/dists/gradle-7.6-bin/9l9tetv7ltxvx3i8an4pb86ye/
# 必要なロックファイルを作成
RUN touch /app/webTube/.gradle/wrapper/dists/gradle-7.6-bin/gradle-7.6-bin.zip.lck && \
chmod 777 /app/webTube/.gradle/wrapper/dists/gradle-7.6-bin/gradle-7.6-bin.zip.lck
# プロジェクトのクローンとセットアップ
RUN rm -rf /app/webTube && git clone https://github.com/martykan/webTube.git /app/webTube
WORKDIR /app/webTube
# Gradle Wrapperの権限を設定
RUN chmod +x /app/webTube/gradlew
# Gradleの互換性設定
RUN sed -i 's/gradle-4.4.1/gradle-7.6/g' gradle/wrapper/gradle-wrapper.properties
# local.properties の設定
RUN echo "sdk.dir=/sdk" > /app/webTube/local.properties
# Gradle Wrapperの設定
RUN ./gradlew wrapper --gradle-version 7.6 --no-daemon
# キャッシュを削除して再ビルドを試行
RUN rm -rf /app/webTube/.gradle && ./gradlew build --info --warning-mode all --no-daemon || true
# ポートの設定
EXPOSE 8080
# コンテナ起動時のコマンド
CMD ["./gradlew", "run"]
|