上传文件至 /
commit
b5bc63839e
|
@ -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
|
|
@ -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
|
|
@ -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" ]
|
|
@ -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.
|
|
@ -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 "$@"
|
Loading…
Reference in New Issue