mirror of
https://github.com/YuWanTingbb/unofficial-gpt4.git
synced 2025-10-14 14:11:23 +00:00
Merge branch 'main' of https://github.com/Yanyutin753/GPT4-Copilot
This commit is contained in:
45
.github/workflows/docker-image-amd64.yml
vendored
45
.github/workflows/docker-image-amd64.yml
vendored
@@ -1,45 +0,0 @@
|
|||||||
name: Build and Push Docker Image -Amd64
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [ created ]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Tag Name'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-and-push:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v1
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@v1
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Set tag name
|
|
||||||
id: tag_name
|
|
||||||
run: |
|
|
||||||
if [ "${{ github.event_name }}" = "release" ]; then
|
|
||||||
echo "::set-output name=tag::${GITHUB_REF#refs/tags/}"
|
|
||||||
elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
||||||
echo "::set-output name=tag::${{ github.event.inputs.tag }}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and push Docker image with Release tag
|
|
||||||
uses: docker/build-push-action@v2
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./Dockerfiles/Dockerfile
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
yangclivia/gpt4-copilot-java:${{ steps.tag_name.outputs.tag }}-amd64
|
|
||||||
platforms: linux/amd64
|
|
45
.github/workflows/docker-image-arm64.yml
vendored
45
.github/workflows/docker-image-arm64.yml
vendored
@@ -1,45 +0,0 @@
|
|||||||
name: Build and Push Docker Image -Arm64
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [ created ]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Tag Name'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-and-push:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v1
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@v1
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Set tag name
|
|
||||||
id: tag_name
|
|
||||||
run: |
|
|
||||||
if [ "${{ github.event_name }}" = "release" ]; then
|
|
||||||
echo "::set-output name=tag::${GITHUB_REF#refs/tags/}"
|
|
||||||
elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
||||||
echo "::set-output name=tag::${{ github.event.inputs.tag }}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and push Docker image with Release tag
|
|
||||||
uses: docker/build-push-action@v2
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./Dockerfiles/Dockerfile
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
yangclivia/gpt4-copilot-java:${{ steps.tag_name.outputs.tag }}-arm64
|
|
||||||
platforms: linux/arm64
|
|
46
.github/workflows/jar-image.yml
vendored
Normal file
46
.github/workflows/jar-image.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
name: Build and Push Docker Image -jar
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag:
|
||||||
|
description: 'Tag Name'
|
||||||
|
required: true
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Set tag name
|
||||||
|
id: tag_name
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.event_name }}" = "release" ]; then
|
||||||
|
echo "::set-output name=tag::${GITHUB_REF#refs/tags/}"
|
||||||
|
elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
||||||
|
echo "::set-output name=tag::${{ github.event.inputs.tag }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Build and push Docker image with Release tag
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile/Dockerfile.jar
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
yangclivia/gpt4-copilot-java:${{ steps.tag_name.outputs.tag }}-jar
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
build-args: TARGETPLATFORM=${{ matrix.platform }}
|
38
.github/workflows/maven-publish.yml
vendored
38
.github/workflows/maven-publish.yml
vendored
@@ -1,38 +0,0 @@
|
|||||||
name: Maven Package
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [ created ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Set up GraalVM
|
|
||||||
uses: DeLaGuardo/setup-graalvm@5.0
|
|
||||||
with:
|
|
||||||
graalvm-version: '21.3' # 更新为支持 Java 17 的 GraalVM 版本
|
|
||||||
java-version: 'java17' # 确保 Java 版本符合你的需求
|
|
||||||
|
|
||||||
|
|
||||||
- name: Grant execute permission for mvnw
|
|
||||||
run: chmod +x ./mvnw
|
|
||||||
|
|
||||||
- name: Set JAVA_HOME
|
|
||||||
run: echo "JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | awk '{print \\\$3}')" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Build with Maven
|
|
||||||
run: ./mvnw native:compile -Pnative
|
|
||||||
|
|
||||||
- name: Publish to GitHub Packages Apache Maven
|
|
||||||
run: mvn deploy -Pnative -s $GITHUB_WORKSPACE/settings.xml
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
|
||||||
|
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
name: Build and Push Docker Image
|
name: Build and Push Docker Image -native
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
@@ -38,7 +38,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v2
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfiles/Dockerfile
|
file: ./Dockerfiles/Dockerfile.native
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
yangclivia/gpt4-copilot-java:${{ steps.tag_name.outputs.tag }}
|
yangclivia/gpt4-copilot-java:${{ steps.tag_name.outputs.tag }}
|
@@ -1,25 +0,0 @@
|
|||||||
# Using Oracle GraalVM for JDK 17
|
|
||||||
FROM devatherock/graalvm:21-ol8 AS builder
|
|
||||||
|
|
||||||
# Set the working directory to /home/app
|
|
||||||
WORKDIR /build
|
|
||||||
|
|
||||||
# Copy the source code into the image for building
|
|
||||||
COPY . /build
|
|
||||||
|
|
||||||
# Add execute permission to mvnw script
|
|
||||||
RUN chmod +x mvnw
|
|
||||||
|
|
||||||
# Build
|
|
||||||
RUN ./mvnw --no-transfer-progress native:compile -Pnative
|
|
||||||
|
|
||||||
# Use a lightweight Linux base image with just enough runtime dependencies
|
|
||||||
FROM container-registry.oracle.com/os/oraclelinux:8-slim
|
|
||||||
|
|
||||||
# Expose port 8080 for the application
|
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
# Copy the native executable into the containers
|
|
||||||
COPY --from=builder /build/target/gpt-4-copilot app
|
|
||||||
|
|
||||||
ENTRYPOINT ["/app"]
|
|
20
Dockerfiles/Dockerfile.jar
Normal file
20
Dockerfiles/Dockerfile.jar
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# 从 sapmachine:17.0.10-jre-ubuntu-jammy 镜像开始构建
|
||||||
|
FROM sapmachine:17.0.10-jre-ubuntu-jammy
|
||||||
|
|
||||||
|
# 指定维护者的名字
|
||||||
|
LABEL maintainer="Yanyutin753"
|
||||||
|
|
||||||
|
# 切换到 root 用户
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# 复制JAR文件到容器的/app目录下
|
||||||
|
COPY /target/gpt-4-copilot-0.0.4.jar /app/app.jar
|
||||||
|
|
||||||
|
# 切换到/app目录
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# 声明服务运行在8081端口
|
||||||
|
EXPOSE 8081
|
||||||
|
|
||||||
|
# 指定docker容器启动时运行jar包,适当减少JVM内存分配
|
||||||
|
ENTRYPOINT exec java $JAVA_OPTS -Dfile.encoding=UTF-8 -jar app.jar $@
|
@@ -1,13 +0,0 @@
|
|||||||
# 基于Java 17的GraalVM构建镜像
|
|
||||||
FROM container-registry.oracle.com/graalvm/native-image:21-ol8 AS builder
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . /app
|
|
||||||
|
|
||||||
# 安装native-image工具
|
|
||||||
RUN gu install native-image
|
|
||||||
|
|
||||||
# 使用Maven构建应用程序
|
|
||||||
RUN mvn package -DskipTests
|
|
||||||
|
|
||||||
# 使用native-image编译成本地二进制文件
|
|
||||||
RUN native-image -cp target/benchmark-jibber-0.0.1-SNAPSHOT.jar
|
|
@@ -1,7 +1,26 @@
|
|||||||
FROM container-registry.oracle.com/os/oraclelinux:8-slim
|
# Using devatherock/graalvm for JDK 17
|
||||||
|
FROM devatherock/graalvm:21-ol8 AS builder
|
||||||
|
|
||||||
ARG APP_FILE
|
# Set the working directory to /home/app
|
||||||
EXPOSE 8080
|
WORKDIR /build
|
||||||
|
|
||||||
|
# Copy the source code into the image for building
|
||||||
|
COPY . /build
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN chmod +x mvnw && \
|
||||||
|
./mvnw --no-transfer-progress native:compile -Pnative && \
|
||||||
|
rm -rf /root/.m2
|
||||||
|
|
||||||
|
# Use a lightweight Linux base image with just enough runtime dependencies
|
||||||
|
FROM photon:latest
|
||||||
|
|
||||||
|
# Set the timezone
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
# Copy the native executable into the containers
|
||||||
|
COPY --from=builder /build/target/gpt-4-copilot gpt-4-copilot
|
||||||
|
|
||||||
|
ENTRYPOINT ["/gpt-4-copilot"]
|
||||||
|
|
||||||
COPY target/${APP_FILE} app
|
|
||||||
ENTRYPOINT ["/app"]
|
|
@@ -5,6 +5,6 @@
|
|||||||
"prefix": "",
|
"prefix": "",
|
||||||
"vscode_version": "vscode\/1.85.2",
|
"vscode_version": "vscode\/1.85.2",
|
||||||
"serverPort": 8081,
|
"serverPort": 8081,
|
||||||
"maxPoolSize": 250,
|
"maxPoolSize": 300,
|
||||||
"gpt4_sleepTime": 110
|
"gpt4_sleepTime": 110
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user