luoyutianyang commited on
Commit
1ebff7a
·
verified ·
1 Parent(s): ec1bb0f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +57 -0
Dockerfile ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用JDK 21作为基础镜像
2
+ FROM openjdk:21-slim
3
+
4
+ # 安装必要工具
5
+ RUN apt-get update && apt-get install -y \
6
+ git \
7
+ wget \
8
+ unzip \
9
+ && rm -rf /var/lib/apt/lists/*
10
+
11
+ # 设置Gradle
12
+ ENV GRADLE_VERSION=8.14
13
+ ENV GRADLE_HOME=/opt/gradle
14
+ ENV PATH=${GRADLE_HOME}/bin:${PATH}
15
+
16
+ # 安装Gradle
17
+ RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
18
+ && unzip gradle-${GRADLE_VERSION}-bin.zip -d /opt \
19
+ && mv /opt/gradle-${GRADLE_VERSION} ${GRADLE_HOME} \
20
+ && rm gradle-${GRADLE_VERSION}-bin.zip
21
+
22
+ # 创建工作目录
23
+ WORKDIR /app
24
+
25
+ # 创建构建脚本
26
+ RUN echo '#!/bin/bash\n\
27
+ set -e\n\
28
+ \n\
29
+ if [ -z "$GIT_REPO_URL" ]; then\n\
30
+ echo "ERROR: GIT_REPO_URL environment variable is not set"\n\
31
+ exit 1\n\
32
+ fi\n\
33
+ \n\
34
+ # 如果代码还没克隆,就克隆\n\
35
+ if [ ! -d "/app/source" ]; then\n\
36
+ echo "Cloning repository..."\n\
37
+ git clone $GIT_REPO_URL /app/source\n\
38
+ \n\
39
+ echo "Building project..."\n\
40
+ cd /app/source\n\
41
+ ./gradlew clean installDist\n\
42
+ \n\
43
+ # 复制编译产物到运行目录\n\
44
+ cp -r /app/source/build/install/unidbg-fetch-qsign/* /app/\n\
45
+ fi\n\
46
+ \n\
47
+ # 启动服务\n\
48
+ cd /app\n\
49
+ echo "Starting service..."\n\
50
+ exec ./bin/unidbg-fetch-qsign --basePath="txlib/9.1.70"\n\
51
+ ' > /app/entrypoint.sh && chmod +x /app/entrypoint.sh
52
+
53
+ # 暴露端口
54
+ EXPOSE 8080
55
+
56
+ # 设置入口点
57
+ ENTRYPOINT ["/app/entrypoint.sh"]