|
@@ -0,0 +1,109 @@
|
|
|
+FROM openjdk:16 as builder
|
|
|
+
|
|
|
+ENV MAVEN_VERSION=3.9.5 \
|
|
|
+ GRADLE_VERSION=7.5
|
|
|
+ARG FLUTTER_VERSION="3.13.5"
|
|
|
+
|
|
|
+RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
|
|
|
+RUN sed -i s@/security.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
|
|
|
+RUN apt-get update
|
|
|
+
|
|
|
+# install gradle
|
|
|
+RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp
|
|
|
+RUN unzip -d /opt/gradle /tmp/gradle-*.zip && rm -rf /tmp/gradle-*.zip
|
|
|
+ENV GRADLE_HOME=/opt/gradle/gradle-${GRADLE_VERSION}
|
|
|
+ENV PATH=$PATH:$GRADLE_HOME/bin
|
|
|
+
|
|
|
+# install maven
|
|
|
+RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -P /tmp
|
|
|
+RUN unzip -d /opt/maven /tmp/apache-maven-*.zip
|
|
|
+ENV MAVEN_HOME=/opt/maven/apache-maven-${MAVEN_VERSION}
|
|
|
+ENV PATH=$PATH:$MAVEN_HOME/bin
|
|
|
+
|
|
|
+# install android sdk
|
|
|
+ENV ANDROID_HOME=/opt/androidsdk \
|
|
|
+ FLUTTER_HOME=/opt/flutter
|
|
|
+
|
|
|
+RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
|
|
|
+ && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
|
|
|
+ && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
|
|
|
+ && rm -f commandlinetools-linux-*.zip \
|
|
|
+ && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
|
|
|
+ && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
|
|
|
+
|
|
|
+RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> ~/.bashrc \
|
|
|
+ && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> ~/.bashrc
|
|
|
+
|
|
|
+ENV PATH=$PATH:$FLUTTER_HOME/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/emulator
|
|
|
+RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-33"
|
|
|
+
|
|
|
+# install flutter
|
|
|
+RUN git clone --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter.git ${FLUTTER_HOME} \
|
|
|
+ && cd ${FLUTTER_HOME} \
|
|
|
+ && ./bin/flutter precache \
|
|
|
+ && ./bin/flutter doctor
|
|
|
+
|
|
|
+# install python3.8
|
|
|
+# RUN apt-get update && \
|
|
|
+# apt-get install -y python3.8
|
|
|
+RUN mkdir -p ~/.pip
|
|
|
+RUN echo '\n\
|
|
|
+ [global] \n\
|
|
|
+ trusted-host=mirrors.aliyun.com \n\
|
|
|
+ index-url=https://mirrors.aliyun.com/pypi/simple/ \n\
|
|
|
+ ' > ~/.pip/pip.conf
|
|
|
+
|
|
|
+RUN wget http://fileshare.yoqi.me/d/DevFiles/Develop/Python/get-pip.py?sign=17C5fjx9l5VpBJ6FCHonje5nEEkylSINsPlKsASVkRc=:1702263152 -O get-pip.py
|
|
|
+RUN python3 get-pip.py
|
|
|
+
|
|
|
+# install go1.21
|
|
|
+RUN wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \
|
|
|
+ tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
|
|
|
+ENV PATH=$PATH:/usr/local/go/bin
|
|
|
+RUN export GOPROXY="https://goproxy.io,direct"
|
|
|
+
|
|
|
+# install nodejs20
|
|
|
+RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
|
|
+RUN apt-get install -y nodejs
|
|
|
+RUN npm config set registry http://registry.npm.taobao.org --global
|
|
|
+RUN npm install yarn pnpm
|
|
|
+
|
|
|
+LABEL email="liuyuqi<liuyuqi.gov@msn.cn>"
|
|
|
+WORKDIR /workspaces
|
|
|
+# RUN mvn package
|
|
|
+
|
|
|
+RUN apt-get install -y wget unzip openssh-server
|
|
|
+RUN ln -s /usr/bin/python3.9 /usr/bin/python
|
|
|
+
|
|
|
+# 指定字符集支持命令行输入中文(根据需要选择字符集)
|
|
|
+ENV LANG C.UTF-8
|
|
|
+ENV LANGUAGE C.UTF-8
|
|
|
+
|
|
|
+# set path
|
|
|
+RUN echo '\n\
|
|
|
+ export PATH=$PATH:$GRADLE_HOME/bin \n\
|
|
|
+ export JAVA_HOME=/usr/local/openjdk-11 \n\
|
|
|
+ export PATH=$PATH:$JAVA_HOME/bin \n\
|
|
|
+ export PATH=$PATH:$MAVEN_HOME/bin \n\
|
|
|
+ export PATH=$PATH:/usr/local/go/bin \n\
|
|
|
+ export GOPROXY="https://goproxy.io,direct" \n\
|
|
|
+ ' >> ~/.bashrc
|
|
|
+
|
|
|
+
|
|
|
+# install vscode and extension
|
|
|
+RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
|
|
|
+ code-server --install-extension redhat.vscode-yaml &&\
|
|
|
+ code-server --install-extension orta.vscode-jest &&\
|
|
|
+ code-server --install-extension dbaeumer.vscode-eslint &&\
|
|
|
+ code-server --install-extension ms-python.python &&\
|
|
|
+ code-server --install-extension ms-azuretools.vscode-docker &&\
|
|
|
+ code-server --install-extension mhutchie.git-graph &&\
|
|
|
+ code-server --install-extension ardisaurus.gitflow-actions-sidebar &&\
|
|
|
+ code-server --install-extension golang.go &&\
|
|
|
+ code-server --install-extension Vue.volar &&\
|
|
|
+ code-server --install-extension eamodio.gitlens &&\
|
|
|
+ echo done
|
|
|
+
|
|
|
+VOLUME [ "/workspaces" ]
|
|
|
+
|
|
|
+CMD [ "/bin/bash" ]
|