编写镜像文件
This commit is contained in:
69
.gitlab-ci.yml
Normal file
69
.gitlab-ci.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
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
|
||||||
|
- review
|
||||||
|
- 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 hmdt
|
||||||
|
- cd manifests/
|
||||||
|
- sed -i "s/__IMAGE_VERSION_SLUG__/${IMAGE_VERSION}/" deployment.yaml
|
||||||
|
- kubectl apply -f deployment.yaml
|
||||||
|
# - kubectl rollout status -f deployment.yaml
|
||||||
|
- kubectl get pods -n hmdt
|
||||||
11
Dockerfile
Normal file
11
Dockerfile
Normal 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.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
|
||||||
52
pom.xml
52
pom.xml
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<groupId>com.fjy</groupId>
|
<groupId>com.fjy</groupId>
|
||||||
<artifactId>spring</artifactId>
|
<artifactId>spring</artifactId>
|
||||||
<version>V2.9.12</version>
|
<version>V2.9.13</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>spring</name>
|
<name>spring</name>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>2.0.0.RC2</version>
|
<version>2.0.0.RELEASE</version>
|
||||||
<relativePath/> <!-- lookup parent from repository -->
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
|
<skipTests>true</skipTests>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@@ -44,7 +45,6 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
@@ -73,6 +73,12 @@
|
|||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
<version>2.6</version>
|
<version>2.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!--https://github.com/osiegmar/logback-gelf-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>de.siegmar</groupId>
|
||||||
|
<artifactId>logback-gelf</artifactId>
|
||||||
|
<version>2.1.0</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
@@ -84,44 +90,4 @@
|
|||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</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>
|
</project>
|
||||||
|
|||||||
39
src/main/resources/application-k8s.yml
Normal file
39
src/main/resources/application-k8s.yml
Normal 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: 8080
|
||||||
|
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
|
||||||
@@ -1,60 +1,54 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<configuration>
|
<configuration>
|
||||||
|
|
||||||
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
|
||||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
<graylogHost>192.168.1.27</graylogHost>
|
||||||
<pattern>
|
<graylogPort>12201</graylogPort>
|
||||||
%d - %msg%n
|
<maxChunkSize>508</maxChunkSize>
|
||||||
</pattern>
|
<useCompression>true</useCompression>
|
||||||
</layout>
|
<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>
|
</appender>
|
||||||
<!--每天输出一个文件,使用RollingFileAppender滚动输出策略-->
|
|
||||||
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 彩色日志 -->
|
||||||
<!--根据范围仅保留info的日志-->
|
<!-- 彩色日志依赖的渲染类 -->
|
||||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
|
||||||
<level>ERROR</level>
|
<conversionRule conversionWord="wex"
|
||||||
<onMatch>DENY</onMatch>
|
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
|
||||||
<onMismatch>ACCEPT</onMismatch>
|
<conversionRule conversionWord="wEx"
|
||||||
</filter>
|
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>
|
<encoder>
|
||||||
<pattern>
|
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
|
||||||
%d - %msg%n
|
|
||||||
</pattern>
|
|
||||||
<charset>utf8</charset>
|
<charset>utf8</charset>
|
||||||
</encoder>
|
</encoder>
|
||||||
<!--滚动策略-->
|
</appender>
|
||||||
<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>
|
|
||||||
|
|
||||||
|
|
||||||
|
<root level="info">
|
||||||
|
<!-- 控制台输出 -->
|
||||||
|
<appender-ref ref="CONSOLE"/>
|
||||||
|
<appender-ref ref="GELF"/>
|
||||||
|
</root>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
60
src/main/resources/logback-spring.xml.bak
Normal file
60
src/main/resources/logback-spring.xml.bak
Normal 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>
|
||||||
Reference in New Issue
Block a user