14 Commits

Author SHA1 Message Date
7696df378a Merge remote-tracking branch 'remotes/origin/release/docker-k8s' into develop 2019-11-27 22:30:21 +08:00
876465a0a6 修改镜像拉取策略 2019-11-27 17:21:20 +08:00
56aecc5201 修改镜像拉取策略 2019-11-27 17:17:22 +08:00
6cd589e633 端口修复 2019-11-27 17:10:11 +08:00
163899deaf 域名修复 2019-11-27 16:21:55 +08:00
32109c02d8 减少副本数 2019-11-27 15:51:49 +08:00
c06e8c8d61 ci修复 2019-11-27 15:48:40 +08:00
e517209402 ci修复 2019-11-27 15:38:06 +08:00
15cc4e5afc ci修复 2019-11-27 14:05:23 +08:00
73b0d9be2d ci修复 2019-11-27 14:02:50 +08:00
d4a894840f Dockerfile修复 2019-11-27 11:52:05 +08:00
27b6034046 数据库脚本修复,添加私服 2019-11-27 11:30:27 +08:00
4226fdcdfb 数据库脚本修复 2019-11-27 11:09:09 +08:00
a6103ac865 编写镜像文件 2019-11-27 11:00:08 +08:00
11 changed files with 13022 additions and 259 deletions

67
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,67 @@
image: harbor.fjy8018.top:8883/library/docker:19.03
variables:
MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode -Dmaven.test.skip=true"
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
DOCKER_DRIVER: overlay
DOCKER_HOST: tcp://localhost:2375
DOCKER_TLS_CERTDIR: ""
SPRING_PROFILES_ACTIVE: docker
IMAGE_VERSION: "V2.9.13"
DOCKER_REGISTRY_MIRROR: "https://clayphwh.mirror.aliyuncs.com"
stages:
- test
- package
- deploy
maven-build:
image: harbor.fjy8018.top:8883/library/maven:3-jdk-8
stage: test
retry: 2
script:
- mvn $MAVEN_CLI_OPTS clean package -U -B -T 2C
artifacts:
expire_in: 1 week
paths:
- target/*.jar
maven-scan:
stage: test
retry: 2
image: harbor.fjy8018.top:8883/library/maven:3-jdk-8
script:
- mvn $MAVEN_CLI_OPTS verify sonar:sonar
maven-deploy:
stage: deploy
retry: 2
image: harbor.fjy8018.top:8883/library/maven:3-jdk-8
script:
- mvn $MAVEN_CLI_OPTS deploy
docker-harbor-build:
stage: package
retry: 2
image:
name: harbor.fjy8018.top:8883/google_container/kaniko-executor:debug
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$IMAGE_VERSION
deploy_live:
image: harbor.fjy8018.top:8883/offical/kubectl:v1.14.0
stage: deploy
retry: 2
environment:
name: prod
url: https://cms.fjy8018.xin
script:
- kubectl version
- kubectl get pods -n cms
- cd manifests/
- sed -i "s/__IMAGE_VERSION_SLUG__/${IMAGE_VERSION}/" deployment.yaml
- kubectl apply -f deployment.yaml
- kubectl get pods -n cms

83
.m2/settings.xml Normal file
View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<mirrors>
<mirror>
<id>fjy-nexus</id>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>central</mirrorOf>
<name>Nexus myself</name>
<url>http://192.168.1.30:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<servers>
<server>
<id>maven-central</id>
<username>${env.MAVEN_USER}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>maven-public</id>
<username>${env.MAVEN_USER}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>maven-snapshots</id>
<username>${env.MAVEN_USER}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
</servers>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://192.168.1.27:19000
</sonar.host.url>
</properties>
</profile>
<profile>
<id>fjy-nexus</id>
<!-- 远程仓库列表 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>maven-public</id>
<name>maven-public</name>
<url>http://192.168.1.30:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<!--插件库地址-->
<pluginRepository>
<id>maven-public</id>
<url>http://192.168.1.30:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>

11
Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
FROM harbor.fjy8018.top:8883/library/openjdk:8-jre
MAINTAINER fjy8018 fjy8018@gmail.com
COPY target/spring-V2.9.13.jar /cms-springboot.jar
# 设置时区默认为UTC
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
ENTRYPOINT ["java","-jar","/cms-springboot.jar","--spring.profiles.active=k8s"]
EXPOSE 8080

12393
db_imis2.bak.sql Normal file

File diff suppressed because it is too large Load Diff

76
manifests/deployment.yaml Normal file
View File

@@ -0,0 +1,76 @@
apiVersion: v1
kind: Namespace
metadata:
name: cms
---
apiVersion: v1
kind: Secret
metadata:
name: harbor-login
namespace: cms
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJoYXJib3IuZmp5ODAxOC50b3A6ODg4MyI6IHsKCQkJImF1dGgiOiAiYXpoek9rczRjMmhoY21KdmNnPT0iCgkJfQoJfQp9
---
#deploy
apiVersion: apps/v1
kind: Deployment
metadata:
name: cms
namespace: cms
labels:
app: cms
spec:
selector:
matchLabels:
app: cms
replicas: 1
template:
metadata:
labels:
app: cms
spec:
imagePullSecrets:
- name: harbor-login
containers:
- name: cms
imagePullPolicy: Always
image: harbor.fjy8018.top:8883/fjy8018/cms:__IMAGE_VERSION_SLUG__
ports:
- containerPort: 8080
---
#service
apiVersion: v1
kind: Service
metadata:
name: cms
namespace: cms
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: cms
type: ClusterIP
---
#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cms
namespace: cms
spec:
rules:
- host: cms.fjy8018.xin
http:
paths:
- path: /
backend:
serviceName: cms
servicePort: 80

21
manifests/gitlab-sa.yaml Normal file
View File

@@ -0,0 +1,21 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cms-gitlab-ci
namespace: cms
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: cms-gitlab-role
namespace: cms
subjects:
- kind: ServiceAccount
name: cms-gitlab-ci
namespace: cms
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: admin

65
pom.xml
View File

@@ -5,7 +5,7 @@
<groupId>com.fjy</groupId>
<artifactId>spring</artifactId>
<version>V2.9.12</version>
<version>V2.9.13</version>
<packaging>jar</packaging>
<name>spring</name>
@@ -14,7 +14,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RC2</version>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
@@ -22,6 +22,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<skipTests>true</skipTests>
</properties>
<dependencies>
@@ -44,7 +45,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
@@ -73,8 +73,27 @@
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!--https://github.com/osiegmar/logback-gelf-->
<dependency>
<groupId>de.siegmar</groupId>
<artifactId>logback-gelf</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>maven-public</id>
<name>Release Deploy</name>
<url>http://192.168.1.30:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Snapshot Deploy</name>
<url>http://192.168.1.30:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
@@ -84,44 +103,4 @@
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>

370
sql.sql
View File

@@ -1,20 +1,27 @@
CREATE DATABASE db_imis2
DROP DATABASE IF EXISTS db_imis2;
CREATE DATABASE db_imis2;
use db_imis2;
GRANT ALL ON db_imis2.* TO imis2@'%' IDENTIFIED BY '2015imis2';
FLUSH PRIVILEGES;
CREATE TABLE tb_user
(
coluserid INT(10) PRIMARY KEY NOT NULL AUTO_INCREMENT,
colname VARCHAR(30) NOT NULL,
colpassword VARCHAR(255) NOT NULL,
colemail VARCHAR(30) NOT NULL,
colstudentno VARCHAR(50) NOT NULL,
colrealname VARCHAR(20) NOT NULL
coluserid INT(10) PRIMARY KEY NOT NULL AUTO_INCREMENT,
colname VARCHAR(30) NOT NULL,
colpassword VARCHAR(255) NOT NULL,
colemail VARCHAR(30) NOT NULL,
colstudentno VARCHAR(50) NOT NULL,
colrealname VARCHAR(20) NOT NULL
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
CREATE UNIQUE INDEX tb_user_colname_uindex ON tb_user (colname);
INSERT INTO tb_user (colname, colpassword, colemail, colstudentno, colrealname) VALUES ('root','-4e4hc3pvvu8n0rj1uena76948n37q23r','root@gmail.com','00001','FJY');
SELECT * FROM tb_user;
INSERT INTO tb_user (colname, colpassword, colemail, colstudentno, colrealname)
VALUES ('root', '-4e4hc3pvvu8n0rj1uena76948n37q23r', 'root@gmail.com', '00001', 'FJY');
SELECT *
FROM tb_user;
CREATE TABLE tb_file
@@ -27,39 +34,50 @@ CREATE TABLE tb_file
colfilename VARCHAR(255),
colfilesize VARCHAR(32),
colfilepath VARCHAR(128)
)ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;
ALTER TABLE tb_file COMMENT = '文件表';
ALTER TABLE tb_file ADD CONSTRAINT FK_fileuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid);
) ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_file
COMMENT = '文件表';
ALTER TABLE tb_file
ADD CONSTRAINT FK_fileuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid);
CREATE TABLE tb_admin
(
adminid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_adminuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
adminid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_adminuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_admin COMMENT = '管理员表';
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_admin
COMMENT = '管理员表';
CREATE TABLE tb_student
(
studentid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_sutdentuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
)ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;
ALTER TABLE tb_student COMMENT = '学生表';
studentid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_sutdentuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
) ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_student
COMMENT = '学生表';
CREATE TABLE tb_teacher
(
teacherid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_teacheruser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
)ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;
ALTER TABLE tb_teacher COMMENT = '老师表';
teacherid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
coltime VARCHAR(128) NOT NULL,
CONSTRAINT FK_teacheruser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
) ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_teacher
COMMENT = '老师表';
CREATE TABLE tb_log
(
@@ -68,182 +86,204 @@ CREATE TABLE tb_log
coltime VARCHAR(128) NOT NULL,
colip VARCHAR(128),
colheader VARCHAR(255),
CONSTRAINT FK_loguser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
CONSTRAINT FK_loguser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_log
COMMENT = '日志表';
CREATE TABLE tb_course
(
courseNo INT(10) PRIMARY KEY AUTO_INCREMENT,
courseNo INT(10) PRIMARY KEY AUTO_INCREMENT,
courseName VARCHAR(128) NOT NULL,
courseTime VARCHAR(128) NOT NULL,
courseTime VARCHAR(128) NOT NULL,
teacherid INT(10),
CONSTRAINT FK_teacherid FOREIGN KEY (teacherid) REFERENCES tb_teacher (teacherid)
CONSTRAINT FK_teacherid FOREIGN KEY (teacherid) REFERENCES tb_teacher (teacherid)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_course COMMENT = '课程表';
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_course
COMMENT = '课程表';
CREATE TABLE tb_homework
(
workId INT(10) PRIMARY KEY AUTO_INCREMENT,
workName VARCHAR(128) NOT NULL,
workTime VARCHAR(128) NOT NULL ,
colfileid INT(10),
workFolder VARCHAR(255) NOT NULL,
courseNo INT(10),
workRemark VARCHAR(255),
CONSTRAINT FK_colfileid FOREIGN KEY (colfileid) REFERENCES tb_file (colfileid),
CONSTRAINT FK_courseNo FOREIGN KEY (courseNo) REFERENCES tb_course (courseNo)
workId INT(10) PRIMARY KEY AUTO_INCREMENT,
workName VARCHAR(128) NOT NULL,
workTime VARCHAR(128) NOT NULL,
colfileid INT(10),
workFolder VARCHAR(255) NOT NULL,
courseNo INT(10),
workRemark VARCHAR(255),
CONSTRAINT FK_colfileid FOREIGN KEY (colfileid) REFERENCES tb_file (colfileid),
CONSTRAINT FK_courseNo FOREIGN KEY (courseNo) REFERENCES tb_course (courseNo)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_homework COMMENT = '作业表';
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_homework
COMMENT = '作业表';
CREATE TABLE tb_workstatus
(
statusid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
workId INT(10),
colstatus INT(10),
CONSTRAINT FK_statususer FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid),
CONSTRAINT FK_workId FOREIGN KEY (workId) REFERENCES tb_homework (workId)
statusid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
workId INT(10),
colstatus INT(10),
CONSTRAINT FK_statususer FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid),
CONSTRAINT FK_workId FOREIGN KEY (workId) REFERENCES tb_homework (workId)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_workstatus COMMENT = '作业提交状态表';
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_workstatus
COMMENT = '作业提交状态表';
CREATE TABLE tb_feedback
(
feedbackid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
feedbackContent VARCHAR(255),
issueTime VARCHAR(128),
CONSTRAINT FK_feedbackuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
feedbackid INT(10) PRIMARY KEY AUTO_INCREMENT,
coluserid INT(10),
feedbackContent VARCHAR(255),
issueTime VARCHAR(128),
CONSTRAINT FK_feedbackuser FOREIGN KEY (coluserid) REFERENCES tb_user (coluserid)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_workstatus COMMENT = '反馈信息表';
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_workstatus
COMMENT = '反馈信息表';
CREATE TABLE tb_notice
(
noticeid INT(10) PRIMARY KEY AUTO_INCREMENT,
adminid INT(10),
noticeContent VARCHAR(255),
issueTime VARCHAR(128),
CONSTRAINT FK_noticeuser FOREIGN KEY (adminid) REFERENCES tb_admin (adminid)
noticeid INT(10) PRIMARY KEY AUTO_INCREMENT,
adminid INT(10),
noticeContent VARCHAR(255),
issueTime VARCHAR(128),
CONSTRAINT FK_noticeuser FOREIGN KEY (adminid) REFERENCES tb_admin (adminid)
)
ENGINE = InnoDB
CHARSET = utf8
COLLATE utf8_general_ci;
ALTER TABLE tb_workstatus COMMENT = '公告表';
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_workstatus
COMMENT = '公告表';
CREATE TABLE tb_userque
(
coluserid INT(10) PRIMARY KEY,
colquestion VARCHAR(64),
colanswer VARCHAR(255)
)
ENGINE = InnoDB
CHARSET = utf8mb4
COLLATE utf8mb4_general_ci;
ALTER TABLE tb_userque
COMMENT = '用户问题表';
CREATE VIEW v_workdetail
AS
SELECT
workId,
workName,
workTime,
f.colfileid,
colfilename,
c.courseName,
workRemark,
h.workFolder
FROM tb_homework h, tb_course c, tb_file f
WHERE h.colfileid = f.colfileid AND h.courseNo = c.courseNo;
AS
SELECT workId,
workName,
workTime,
f.colfileid,
colfilename,
c.courseName,
workRemark,
h.workFolder
FROM tb_homework h,
tb_course c,
tb_file f
WHERE h.colfileid = f.colfileid
AND h.courseNo = c.courseNo;
CREATE VIEW v_log
AS
SELECT
logid,
colname,
coltime ,
colip ,
colheader
FROM tb_log,tb_user
WHERE tb_user.coluserid = tb_log.coluserid;
AS
SELECT logid,
colname,
coltime,
colip,
colheader
FROM tb_log,
tb_user
WHERE tb_user.coluserid = tb_log.coluserid;
CREATE VIEW v_feedback
AS
SELECT
feedbackid,
colname,
feedbackContent,
issueTime
FROM tb_feedback, tb_user
WHERE tb_user.coluserid = tb_feedback.coluserid;
AS
SELECT feedbackid,
colname,
feedbackContent,
issueTime
FROM tb_feedback,
tb_user
WHERE tb_user.coluserid = tb_feedback.coluserid;
CREATE VIEW v_course
AS
SELECT
courseNo,
courseName,
courseTime,
colrealname,
colname
FROM tb_course, tb_teacher,tb_user
WHERE tb_user.coluserid = tb_teacher.coluserid AND tb_teacher.teacherid=tb_course.teacherid;
AS
SELECT courseNo,
courseName,
courseTime,
colrealname,
colname
FROM tb_course,
tb_teacher,
tb_user
WHERE tb_user.coluserid = tb_teacher.coluserid
AND tb_teacher.teacherid = tb_course.teacherid;
CREATE VIEW v_homework
AS
SELECT
workId,
workName,
workTime,
colfileid,
workFolder,
courseName,
workRemark
FROM tb_homework, tb_course
WHERE tb_homework.courseNo = tb_course.courseNo;
AS
SELECT workId,
workName,
workTime,
colfileid,
workFolder,
courseName,
workRemark
FROM tb_homework,
tb_course
WHERE tb_homework.courseNo = tb_course.courseNo;
CREATE VIEW v_userfile
AS
SELECT
colfileid,
coltime,
colip,
colfilename,
colfilesize,
colfilepath,
courseName,
workFolder,
tb_user.colrealname,
colstudentno
FROM tb_file, tb_user
WHERE tb_user.coluserid = tb_file.coluserid;
AS
SELECT tb_file.colfileid,
coltime,
colip,
colfilename,
colfilesize,
colfilepath,
courseName,
workFolder,
tb_user.colrealname,
colstudentno
FROM tb_file,
tb_user,
tb_course,
tb_homework
WHERE tb_user.coluserid = tb_file.coluserid;
CREATE VIEW v_userinfo
AS
SELECT
coluserid,
colname,
colemail,
colstudentno,
colrealname
FROM tb_user;
AS
SELECT coluserid,
colname,
colemail,
colstudentno,
colrealname
FROM tb_user;
CREATE VIEW v_userque
AS
SELECT
tb_user.coluserid,
colname,
colquestion,
colanswer,
colrealname
FROM tb_userque,tb_user
WHERE tb_user.coluserid=tb_userque.coluserid;
AS
SELECT tb_user.coluserid,
colname,
colquestion,
colanswer,
colrealname
FROM tb_userque,
tb_user
WHERE tb_user.coluserid = tb_userque.coluserid;

View File

@@ -0,0 +1,39 @@
#运行环境配置文件
server:
servlet:
context-path: /cms
session:
timeout: 1440s
port: 8080
tomcat:
remote-ip-header: x-forwarded-for
protocol-header: x-forwarded-proto
port-header: X-Forwarded-Port
use-forward-headers: true
serverproperties:
port_num: 80
filePath: /www/cmsfile/
spring:
thymeleaf:
prefix: classpath:/templates/
cache: true
check-template: true
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.25/db_imis2?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: imis2
password: 2015imis2
servlet:
multipart:
max-file-size: 100Mb
max-request-size: 100Mb
jpa:
hibernate:
ddl-auto: update
show-sql: false
#resources:
# static-locations: classpath:/templates/
debug: false

View File

@@ -1,60 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
<graylogHost>192.168.1.27</graylogHost>
<graylogPort>12201</graylogPort>
<maxChunkSize>508</maxChunkSize>
<useCompression>true</useCompression>
<encoder class="de.siegmar.logbackgelf.GelfEncoder">
<includeRawMessage>false</includeRawMessage>
<includeMarker>true</includeMarker>
<includeMdcData>true</includeMdcData>
<includeCallerData>false</includeCallerData>
<includeRootCauseData>false</includeRootCauseData>
<!--显示日志级别名称,默认为数字-->
<includeLevelName>true</includeLevelName>
<shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%nopex</pattern>
</shortPatternLayout>
<fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%n</pattern>
</fullPatternLayout>
<!--配置应用名称-->
<staticField>app_name:cms</staticField>
<staticField>os_arch:${os.arch}</staticField>
<staticField>os_name:${os.name}</staticField>
<staticField>os_version:${os.version}</staticField>
</encoder>
</appender>
<!--每天输出一个文件使用RollingFileAppender滚动输出策略-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围仅保留info的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- Console 输出设置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d - %msg%n
</pattern>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\%d\info.%d.log</fileNamePattern>
<!--<fileNamePattern>/www/cmsfile/%d/info.%d.log</fileNamePattern>-->
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围过滤ERROR等级以下的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\error.%d.log</fileNamePattern>
<!--<fileNamePattern>/www/cmsfile/%d/error.%d.log</fileNamePattern>-->
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</appender>
<root level="info">
<!-- 控制台输出 -->
<appender-ref ref="CONSOLE"/>
<appender-ref ref="GELF"/>
</root>
</configuration>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<!--每天输出一个文件使用RollingFileAppender滚动输出策略-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围仅保留info的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\%d\info.%d.log</fileNamePattern>
<!--<fileNamePattern>/www/cmsfile/%d/info.%d.log</fileNamePattern>-->
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围过滤ERROR等级以下的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\error.%d.log</fileNamePattern>
<!--<fileNamePattern>/www/cmsfile/%d/error.%d.log</fileNamePattern>-->
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>