From f87fbee8c1a62573dcbce2e4f2e5c4fac40fd291 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E5=82=85=E5=93=A5?= <184172133@qq.com>
Date: Tue, 16 Jan 2024 21:28:14 +0800
Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B5=8B=E8=AF=95=E5=B7=A5?=
=?UTF-8?q?=E7=A8=8B=20by=20=E5=B0=8F=E5=82=85=E5=93=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 103 ++++++++++++++++
xfg-dev-tech-app/Dockerfile | 18 +++
xfg-dev-tech-app/build.sh | 1 +
xfg-dev-tech-app/pom.xml | 109 +++++++++++++++++
.../cn/bugstack/xfg/dev/tech/Application.java | 47 ++++++++
.../src/main/resources/application-dev.yml | 14 +++
.../src/main/resources/application-prod.yml | 8 ++
.../src/main/resources/application-test.yml | 8 ++
.../src/main/resources/application.yml | 5 +
.../src/main/resources/logback-spring.xml | 112 ++++++++++++++++++
.../cn/bugstack/xfg/dev/test/ApiTest.java | 9 ++
11 files changed, 434 insertions(+)
create mode 100644 pom.xml
create mode 100644 xfg-dev-tech-app/Dockerfile
create mode 100644 xfg-dev-tech-app/build.sh
create mode 100644 xfg-dev-tech-app/pom.xml
create mode 100644 xfg-dev-tech-app/src/main/java/cn/bugstack/xfg/dev/tech/Application.java
create mode 100644 xfg-dev-tech-app/src/main/resources/application-dev.yml
create mode 100644 xfg-dev-tech-app/src/main/resources/application-prod.yml
create mode 100644 xfg-dev-tech-app/src/main/resources/application-test.yml
create mode 100644 xfg-dev-tech-app/src/main/resources/application.yml
create mode 100644 xfg-dev-tech-app/src/main/resources/logback-spring.xml
create mode 100644 xfg-dev-tech-app/src/test/java/cn/bugstack/xfg/dev/test/ApiTest.java
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..76f7a0d
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,103 @@
+
+
+ 4.0.0
+
+ cn.bugstack
+ xfg-dev-tech-jenkins
+ 1.0-SNAPSHOT
+ pom
+
+ xfg-dev-tech-app
+
+
+
+ 1.8
+ UTF-8
+ 8
+ 8
+ UTF-8
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.7.12
+
+
+
+
+
+
+ com.alibaba
+ fastjson
+ 2.0.28
+
+
+ org.apache.commons
+ commons-lang3
+ 3.9
+
+
+ com.google.guava
+ guava
+ 32.1.3-jre
+
+
+
+
+
+ xfg-dev-tech
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.0
+
+ ${java.version}
+ ${java.version}
+ ${project.build.sourceEncoding}
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+ UTF-8
+
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ 2.7
+
+
+
+
+
+
+ dev
+
+ true
+
+
+ dev
+
+
+
+ test
+
+ test
+
+
+
+ prod
+
+ prod
+
+
+
+
+
\ No newline at end of file
diff --git a/xfg-dev-tech-app/Dockerfile b/xfg-dev-tech-app/Dockerfile
new file mode 100644
index 0000000..55caac8
--- /dev/null
+++ b/xfg-dev-tech-app/Dockerfile
@@ -0,0 +1,18 @@
+# 基础镜像 openjdk:8-jre-slim
+FROM openjdk:8-jre-slim
+
+# 作者
+MAINTAINER xiaofuge
+
+# 配置
+ENV PARAMS=""
+
+# 时区
+ENV TZ=PRC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+# 添加应用
+ADD target/xfg-dev-tech-app.jar /xfg-dev-tech-app.jar
+
+## 在镜像运行为容器后执行的命令
+ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /xfg-dev-tech-app.jar $PARAMS"]
diff --git a/xfg-dev-tech-app/build.sh b/xfg-dev-tech-app/build.sh
new file mode 100644
index 0000000..750a04b
--- /dev/null
+++ b/xfg-dev-tech-app/build.sh
@@ -0,0 +1 @@
+docker build -t xiaofuge/xfg-dev-tech-app:1.0 -f ./Dockerfile .
\ No newline at end of file
diff --git a/xfg-dev-tech-app/pom.xml b/xfg-dev-tech-app/pom.xml
new file mode 100644
index 0000000..2b5a657
--- /dev/null
+++ b/xfg-dev-tech-app/pom.xml
@@ -0,0 +1,109 @@
+
+
+ 4.0.0
+
+ cn.bugstack
+ xfg-dev-tech-jenkins
+ 1.0-SNAPSHOT
+
+
+ xfg-dev-tech-app
+
+ jar
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-registry-prometheus
+
+
+ com.alibaba
+ fastjson
+
+
+ org.apache.commons
+ commons-lang3
+
+
+ org.projectlombok
+ lombok
+
+
+ junit
+ junit
+ test
+
+
+
+
+ xfg-dev-tech-app
+
+
+ src/main/resources
+ true
+
+ **/**
+
+
+
+
+
+ src/test/resources
+ true
+
+ **/**
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.6
+
+ true
+ false
+
+ **/*Test.java
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ cn.bugstack.xfg.dev.tech.Application
+ JAR
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xfg-dev-tech-app/src/main/java/cn/bugstack/xfg/dev/tech/Application.java b/xfg-dev-tech-app/src/main/java/cn/bugstack/xfg/dev/tech/Application.java
new file mode 100644
index 0000000..fcaef65
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/java/cn/bugstack/xfg/dev/tech/Application.java
@@ -0,0 +1,47 @@
+package cn.bugstack.xfg.dev.tech;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@SpringBootApplication
+@RestController()
+@RequestMapping("/api/")
+public class Application {
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class);
+ }
+
+ /**
+ * http://localhost:8091/api/test
+ */
+ @RequestMapping(value = "/test", method = RequestMethod.GET)
+ public ResponseBodyEmitter test(HttpServletResponse response) {
+ response.setContentType("text/event-stream");
+ response.setCharacterEncoding("UTF-8");
+ response.setHeader("Cache-Control", "no-cache");
+
+ ResponseBodyEmitter emitter = new ResponseBodyEmitter();
+
+ String[] words = new String[]{"嗨,臭宝。\r\n", "恭喜💐 ", "你的", " Jenkins ", " 部", "署", "测", "试", "成", "功", "了啦🌶!"};
+ new Thread(() -> {
+ for (String word : words) {
+ try {
+ emitter.send(word);
+ Thread.sleep(250);
+ } catch (IOException | InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }).start();
+
+ return emitter;
+ }
+}
diff --git a/xfg-dev-tech-app/src/main/resources/application-dev.yml b/xfg-dev-tech-app/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..d8bfeec
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/resources/application-dev.yml
@@ -0,0 +1,14 @@
+server:
+ port: 8091
+ tomcat:
+ max-connections: 20
+ threads:
+ max: 20
+ min-spare: 10
+ accept-count: 10
+
+# 日志
+logging:
+ level:
+ root: info
+ config: classpath:logback-spring.xml
\ No newline at end of file
diff --git a/xfg-dev-tech-app/src/main/resources/application-prod.yml b/xfg-dev-tech-app/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..1c619c0
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/resources/application-prod.yml
@@ -0,0 +1,8 @@
+server:
+ port: 8091
+
+# 日志
+logging:
+ level:
+ root: info
+ config: classpath:logback-spring.xml
diff --git a/xfg-dev-tech-app/src/main/resources/application-test.yml b/xfg-dev-tech-app/src/main/resources/application-test.yml
new file mode 100644
index 0000000..e35ea05
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/resources/application-test.yml
@@ -0,0 +1,8 @@
+server:
+ port: 8091
+
+# 日志
+logging:
+ level:
+ root: info
+ config: classpath:logback-spring.xml
\ No newline at end of file
diff --git a/xfg-dev-tech-app/src/main/resources/application.yml b/xfg-dev-tech-app/src/main/resources/application.yml
new file mode 100644
index 0000000..78ba511
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/resources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ config:
+ name: xfg-dev-tech
+ profiles:
+ active: dev
diff --git a/xfg-dev-tech-app/src/main/resources/logback-spring.xml b/xfg-dev-tech-app/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..b2f1932
--- /dev/null
+++ b/xfg-dev-tech-app/src/main/resources/logback-spring.xml
@@ -0,0 +1,112 @@
+
+
+
+
+ logback
+
+
+
+
+
+
+
+
+
+
+
+
+ info
+
+
+ %d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0}%X{ServiceId} -%X{trace-id} %m%n
+ UTF-8
+
+
+
+
+
+
+
+ ./data/log/log_info.log
+
+
+ %d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0}%X{ServiceId} -%X{trace-id} %m%n
+ UTF-8
+
+
+
+
+ ./data/log/log-info-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 15
+ 10GB
+
+
+
+
+
+
+ ./data/log/log_error.log
+
+
+ %d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0}%X{ServiceId} -%X{trace-id} %m%n
+ UTF-8
+
+
+
+ ./data/log/log-error-%d{yyyy-MM-dd}.%i.log
+
+ 100MB
+
+
+ 7
+ 5GB
+
+
+
+ WARN
+
+
+
+
+
+
+ 0
+
+ 8192
+
+ true
+
+ false
+
+
+
+
+
+ 0
+
+ 1024
+
+ true
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xfg-dev-tech-app/src/test/java/cn/bugstack/xfg/dev/test/ApiTest.java b/xfg-dev-tech-app/src/test/java/cn/bugstack/xfg/dev/test/ApiTest.java
new file mode 100644
index 0000000..067fc2d
--- /dev/null
+++ b/xfg-dev-tech-app/src/test/java/cn/bugstack/xfg/dev/test/ApiTest.java
@@ -0,0 +1,9 @@
+package cn.bugstack.xfg.dev.test;
+
+public class ApiTest {
+
+ public static void main(String[] args) {
+
+ }
+
+}