Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog #623

Merged
merged 27 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
be4333d
chore(deps): bump ch.qos.logback:logback-classic from 1.5.8 to 1.5.10…
dependabot[bot] Oct 14, 2024
72f49f5
chore(deps): bump ch.qos.logback:logback-core from 1.5.8 to 1.5.10 (#…
dependabot[bot] Oct 14, 2024
309df07
chore(deps): bump ch.qos.logback:logback-classic from 1.5.10 to 1.5.1…
dependabot[bot] Oct 21, 2024
76bdb82
chore(deps): bump com.slack.api:slack-api-model from 1.43.1 to 1.44.0…
dependabot[bot] Oct 21, 2024
612cfb2
chore(deps): bump ch.qos.logback:logback-core from 1.5.10 to 1.5.11 (…
dependabot[bot] Oct 21, 2024
3b9f888
chore(deps): bump com.slack.api:slack-api-client from 1.43.1 to 1.44.…
dependabot[bot] Oct 21, 2024
7ebdec4
chore(deps): bump com.slack.api:slack-app-backend from 1.43.1 to 1.44…
dependabot[bot] Oct 21, 2024
6315bb8
refactor: 메서드명 변경, DtoMapper 변환 완료 (#581)
SongJaeHoonn Oct 22, 2024
eaa6c9c
refactor: POST 요청 응답 상태코드 변경 (200 → 201) 완료 (#593)
limehee Oct 23, 2024
0c3eaed
chore(deps): bump com.slack.api:slack-app-backend from 1.44.0 to 1.44…
dependabot[bot] Oct 28, 2024
3b388df
chore(deps): bump com.slack.api:slack-api-client from 1.44.0 to 1.44.…
dependabot[bot] Oct 28, 2024
0c471ae
chore(deps): bump org.springframework.boot from 3.3.4 to 3.3.5 (#601)
dependabot[bot] Oct 28, 2024
6cb4a7b
chore(deps): bump com.ibm.icu:icu4j from 75.1 to 76.1 (#602)
dependabot[bot] Oct 28, 2024
2a5e9c7
chore(deps): bump ch.qos.logback:logback-classic from 1.5.11 to 1.5.1…
dependabot[bot] Oct 28, 2024
9f7164e
chore(deps): bump ch.qos.logback:logback-core from 1.5.11 to 1.5.12 (…
dependabot[bot] Oct 28, 2024
58572a7
refactor: 코드 설명을 위한 주석 및 JavaDocs 추가 완료 (#605)
SongJaeHoonn Nov 5, 2024
6c96deb
refactor: 게시판 카테고리 재분류 완료 (#608)
mingmingmon Nov 6, 2024
a15b0c6
chore(deps): bump org.mapstruct:mapstruct-processor from 1.6.2 to 1.6…
dependabot[bot] Nov 12, 2024
d2cbe66
chore(deps): bump org.mapstruct:mapstruct from 1.6.2 to 1.6.3 (#613)
dependabot[bot] Nov 12, 2024
6826bad
chore(deps): bump commons-io:commons-io from 2.17.0 to 2.18.0 (#622)
dependabot[bot] Nov 26, 2024
027f662
chore(deps): bump com.slack.api:slack-app-backend from 1.44.1 to 1.44…
dependabot[bot] Nov 26, 2024
e1fa8bb
chore(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui f…
dependabot[bot] Nov 26, 2024
cb487fc
chore(deps): bump com.slack.api:slack-api-model, client from 1.44.1 t…
dependabot[bot] Nov 26, 2024
5b55cf4
chore(deps): bump org.springframework.boot from 3.3.5 to 3.4.0 (#618)
dependabot[bot] Nov 26, 2024
3ca00d5
refactor: CD 파이프라인 이미지 최적화 및 빌드 성능 개선을 위한 Docker Multi-stage Build, S…
limehee Nov 27, 2024
a9ad4e5
refactor: 알림 시스템 이벤트 기반 리팩토링 및 멀티플랫폼 지원 구현 완료 (#615)
limehee Nov 27, 2024
035de6a
fix: springframework.boot, springdoc 의존성 버전 다운그레이드
mingmingmon Dec 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Ignore Git-related files
.git
.gitignore

# Ignore local IDE files
.idea/
*.iml
*.log

# Ignore build directories
build/
out/
target/

# Ignore Docker-related files
Dockerfile
docker-compose.yml

# Ignore other unnecessary files/directories
*.md
*.tmp
*.bak

# Ignore specific directories
cloud/
config/
images/
infra/
jenkins/
monitoring/
nginx/
28 changes: 16 additions & 12 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.4'
id 'org.springframework.boot' version '3.3.6'
id 'io.spring.dependency-management' version '1.1.6'
}

Expand All @@ -15,6 +15,10 @@ bootJar {
archivesBaseName = "clab"
archiveFileName = "clab.jar"
archiveVersion = "1.0.0"

layered {
enabled = true
}
}

java {
Expand Down Expand Up @@ -45,8 +49,8 @@ dependencies {
// Monitoring
implementation 'org.springframework.boot:spring-boot-starter-actuator' // Spring Boot Actuator
implementation 'io.micrometer:micrometer-registry-prometheus' // Prometheus
implementation 'ch.qos.logback:logback-classic:1.5.8' // Logback
implementation 'ch.qos.logback:logback-core:1.5.8' // Logback
implementation 'ch.qos.logback:logback-classic:1.5.12' // Logback
implementation 'ch.qos.logback:logback-core:1.5.12' // Logback

// DB
implementation 'org.postgresql:postgresql:42.7.4' // PostgreSQL JDBC Driver
Expand All @@ -67,39 +71,39 @@ dependencies {
annotationProcessor 'org.projectlombok:lombok' // 롬복
implementation 'com.google.code.gson:gson:2.11.0' // JSON 라이브러리
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' // Swagger
implementation 'commons-io:commons-io:2.17.0' // Apache Commons IO
implementation 'commons-io:commons-io:2.18.0' // Apache Commons IO
implementation 'com.google.guava:guava:33.3.1-jre' // Google Core Libraries For Java
implementation 'org.springframework.boot:spring-boot-starter-mail' // Spring Mail
implementation 'com.google.zxing:core:3.4.1' // QR 코드
implementation 'com.google.zxing:javase:3.5.3' // QR 코드
implementation 'org.apache.commons:commons-lang3:3.17.0' // Apache Commons Lang

// MapStruct
implementation 'org.mapstruct:mapstruct:1.6.2'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.2'
implementation 'org.mapstruct:mapstruct:1.6.3'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3'
annotationProcessor 'org.projectlombok:lombok-mapstruct-binding:0.2.0'

// IPInfo
implementation 'io.ipinfo:ipinfo-spring:0.3.1' // IPInfo Spring
implementation 'io.ipinfo:ipinfo-api:3.0.0' // IPInfo API

// Slack
implementation 'com.slack.api:slack-api-model:1.43.1'
implementation 'com.slack.api:slack-api-client:1.43.1'
implementation 'com.slack.api:slack-app-backend:1.43.1'
implementation 'com.slack.api:slack-api-model:1.44.2'
implementation 'com.slack.api:slack-api-client:1.44.2'
implementation 'com.slack.api:slack-app-backend:1.44.2'

// XSS Filter
implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1' // Lucy XSS Servlet Filter
implementation 'com.navercorp.lucy:lucy-xss:1.6.3' // Lucy XSS Filter
implementation 'org.apache.commons:commons-text:1.11.0' // Apache Commons Text

// Image
implementation 'commons-io:commons-io:2.17.0'
implementation 'commons-io:commons-io:2.18.0'
implementation 'com.drewnoakes:metadata-extractor:2.19.0'
implementation 'org.imgscalr:imgscalr-lib:4.2'

// Emoji
implementation 'com.ibm.icu:icu4j:75.1'
implementation 'com.ibm.icu:icu4j:76.1'

// Test
testImplementation 'org.springframework.boot:spring-boot-starter-test' // Spring Boot Test
Expand All @@ -113,7 +117,7 @@ tasks.named('test') {
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile

sourceSets {
main.java.srcDirs += [ querydslDir ]
main.java.srcDirs += [querydslDir]
}

tasks.withType(JavaCompile).configureEach {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
38 changes: 29 additions & 9 deletions jenkins/prod/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
# Use the official OpenJDK 21 image from the Docker Hub
FROM openjdk:21-jdk
# 1. Build Stage
FROM gradle:8.11.1-jdk21 AS build
WORKDIR /app

# Expose port 8080 to the outside world
EXPOSE 8080
# Copy Gradle files and install dependencies
COPY build.gradle settings.gradle /app/
RUN gradle dependencies --stacktrace

# Copy the JAR file into the container
COPY build/libs/clab.jar /clab.jar
# Copy source code and build
COPY src /app/src
RUN gradle bootJar --no-daemon --stacktrace

# Set the default active profile to 'stage'. Modify the 'spring.profiles.active' property to match your environment.
# For example, use '-Dspring.profiles.active=production' for production environment.
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "/clab.jar"]
# Extract layers from JAR file
RUN java -Djarmode=layertools -jar build/libs/*.jar extract \
&& ls -l /app \
&& ls -l /app/dependencies \
&& ls -l /app/spring-boot-loader \
&& ls -l /app/snapshot-dependencies \
&& ls -l /app/application

# 2. Runtime Stage
FROM eclipse-temurin:21-jre AS runtime
WORKDIR /app

# Copy each layer
COPY --from=build /app/dependencies/ ./
COPY --from=build /app/spring-boot-loader/ ./
COPY --from=build /app/snapshot-dependencies/ ./
COPY --from=build /app/application/ ./

# Run the application
ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "org.springframework.boot.loader.launch.JarLauncher"]
Loading
Loading