上传文件至 /

main
yangjun 2023-09-07 17:11:23 +08:00
commit b5bc63839e
5 changed files with 148 additions and 0 deletions

43
.gitignore vendored Normal file
View File

@ -0,0 +1,43 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
!*/build/*.java
!*/build/*.html
!*/build/*.xml

43
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,43 @@
variables:
MAVEN_CLI_OPTS: "-s $CI_PROJECT_DIR/.m2/settings.xml --batch-mode"
MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"
MAVEN_USER_HOME: "$CI_PROJECT_DIR/.m2"
REGISTRY_MIRROR: docker.repository.zcunsoft.com
stages:
- build
- package
.set-docker-tag: &set-docker-tag
- if [[ $CI_BUILD_REF_NAME == "main" ]];
then
export DOCKER_TAG=latest;
else
export DOCKER_TAG="${CI_BUILD_REF_NAME}";
fi
maven-build:
image: openjdk:8-slim
stage: build
cache:
key: maven-cache
paths:
- .m2/repository/
- .m2/wrapper/
script:
- ./mvnw $MAVEN_CLI_OPTS package
artifacts:
name: "$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME"
paths:
- "ruoyi-admin/target/*.jar"
docker-build:
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
stage: package
script:
- *set-docker-tag
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"gitlab-ci-token\",\"password\":\"$CI_JOB_TOKEN\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --build-arg JAR_FILE="$(ls ruoyi-admin/target/*.jar | sort | head -n 1)" --destination $CI_REGISTRY_IMAGE:$DOCKER_TAG --cache=true --registry-mirror=$REGISTRY_MIRROR

37
Dockerfile Normal file
View File

@ -0,0 +1,37 @@
# First stage - Compiling application
FROM registry.cn-hangzhou.aliyuncs.com/acs/maven:3-jdk-8 AS build-env
ENV MY_HOME=/app
RUN mkdir -p $MY_HOME
WORKDIR $MY_HOME
ADD pom.xml $MY_HOME
# add source
ADD . $MY_HOME
# 下载maven缓存包并解压
RUN ["wget","-O","/home/cache.tar.gz","http://192.168.48.1:18800/cache/maven?name=repository"]
RUN ["tar", "-zxvf", "/home/cache.tar.gz","-C","/home"]
# get all the downloads out of the way
#RUN ["/usr/local/bin/mvn-entrypoint.sh","mvn","verify","clean","--fail-never"]
# run maven verify
RUN ["/usr/local/bin/mvn-entrypoint.sh","mvn","verify","--settings=/home/app/settings.xml" ]
# 打包maven缓存包并上传到服务器
WORKDIR /home
RUN ["tar", "-zcvf", "cache.tar.gz", "app"]
RUN ["curl","-F","file=@/home/cache.tar.gz","http://192.168.48.1:18800/cache/maven?name=repository"]
WORKDIR $MY_HOME
# Second stage - build image
FROM openjdk:8-jre-alpine
COPY --from=build-env /app/ruoyi-admin/target/*.jar /app.jar
ENV JAVA_OPTS=""
ENV SERVER_PORT 8082
EXPOSE ${SERVER_PORT}
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/urandom -jar /app.jar" ]

20
LICENSE Normal file
View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018 RuoYi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5
docker-entrypoint.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
set -e
exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -jar /app.jar "$@"