老鬼的博客 来都来啦,那就随便看看吧~
springboot打包测试和生产环境
发布于: 2020-12-24 更新于: 2020-12-24 分类于:  阅读次数: 

一:介绍

1
2
关于mvn怎么打包测试和生产文件,这里做一下介绍,
主要是用到了mvn的profiles,设置了两个环境的目录。

二:结构

1
2
3
1.两个bat的打包脚本
2.两个不同环境的配置文件目录
其中application.yml指定了不同的profiles.active

1.png

三:配置文件

3.1 pom.xml

pom.xml

3.2 sit目录

sit.zip

3.3 prod目录

prod.zip

3.4 sit打包bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
:: RenJie
set versionPath=D:\javaProgram\iagent\trunk\code\src\main\resources\static
set pomPath=D:\javaProgram\iagent\trunk\code
D:
cd %versionPath%
:: 生成version.jsp和version.html
set version=Version:%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%_jren
echo **************current version:%version%
echo current path:%cd%
echo %version%>version.jsp
echo %version%>version.html
::打包
cd %pomPath%
call mvn clean package -P sit
:: 删除版本号文件
cd %versionPath%
del version.jsp
del version.html
echo package success
pause

3.5 prod打包bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
:: RenJie
set versionPath=D:\javaProgram\iagent\trunk\code\src\main\resources\static
set pomPath=D:\javaProgram\iagent\trunk\code
D:
cd %versionPath%
:: 生成version.jsp和version.html
set version=Version:%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%_jren
echo **************current version:%version%
echo current path:%cd%
echo %version%>version.jsp
echo %version%>version.html
::打包
cd %pomPath%
call mvn clean package -P prod
:: 删除版本号文件
cd %versionPath%
del version.jsp
del version.html
echo package success
pause

3.6 logback-spring.xml prod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">

<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr"
converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="iagent %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} [%line] - %msg%n" />
<property name="FILE_LOG_PATTERN"
value="iagent %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%t] %-40.40logger{39} : %m%n%wex" />

<!-- 引入application.yml文件,要不然生成的log目录为XXX_IS_UNDEFINED。 -->
<property resource="application.yml" />

<!--多环境的日志输出 -->
<!--根据不同环境(prod:生产环境,test:测试环境,dev:开发环境)来定义不同的日志输出, -->
<!--在 logback-spring.xml中使用 springProfile 节点来定义,方法如下: -->

<!-- 生产环境日志 -->
<springProfile name="prod">
<property name="LOG_HOME" value="logs/" />
<!--输出到控制台 -->
<appender name="CONSOLE"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf-8</charset>
</encoder>
</appender>

<!--info 级别的日志 -->
<!-- 按照每天生成日志文件 -->
<appender name="INFO"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 -->
<fileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志文件保留天数 -->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<!-- 日志文件最大的大小 -->
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>

<!--WARN 级别的日志 -->
<appender name="WARN"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/warn.%d{yyyy-MM-dd}.log
</fileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
</appender>

<!--ERROR 级别的日志 -->
<appender name="ERROR"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.log
</fileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
</appender>
<root level="WARN">
<appender-ref ref="WARN" />
<appender-ref ref="ERROR" />
</root>
</springProfile>


</configuration>
*************感谢您的阅读*************