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"]