Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
Binary file added .github/.DS_Store
Binary file not shown.
39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI Pipeline for Jutalkpia

on:
push:
branches:
- dev
pull_request:
branches:
- dev

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
# 1. 코드 체크아웃
- name: Checkout code
uses: actions/checkout@v3

# 2. Java 17 환경 설정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'

# 3. Gradle 빌드
# 3.1. chat-service 빌드
- name: Build chat-service
working-directory: src/backend/chat-service
run: ./gradlew clean build -x test

# 4. Docker 이미지 빌드 및 푸시
# 4.1. chat-service 이미지 빌드 및 푸시
- name: Build and push Docker image for chat-service
working-directory: src/backend/chat-service
run: |
docker build -t mirlee/chat-service:latest .
docker push mirlee/chat-service:latest
8 changes: 8 additions & 0 deletions src/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions src/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions src/.idea/src.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions src/backend/chat-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# JDK 17 기반 이미지 사용
FROM eclipse-temurin:17-jdk-jammy

# 작업 디렉토리 설정
WORKDIR /app

# 빌드된 JAR 파일 복사
ARG JAR_FILE=build/libs/chat-service-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar

# 포트 노출
EXPOSE 8080

# 애플리케이션 실행
ENTRYPOINT ["java", "-jar", "app.jar"]

3 changes: 3 additions & 0 deletions src/backend/workspace_server/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
38 changes: 38 additions & 0 deletions src/backend/workspace_server/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
HELP.md
local.env
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
15 changes: 15 additions & 0 deletions src/backend/workspace_server/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Azul Zulu OpenJDK 17 기반 이미지
FROM azul/zulu-openjdk:17

# 작업 디렉토리 설정
WORKDIR /app

# 빌드된 JAR 파일 복사
ARG JAR_FILE=build/libs/workspace-server-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar

# 포트 노출
EXPOSE 8080

# 애플리케이션 실행
ENTRYPOINT ["java", "-jar", "app.jar"]
40 changes: 40 additions & 0 deletions src/backend/workspace_server/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.7'
id 'io.spring.dependency-management' version '1.1.7'
}

group = 'com.jootalkpia'
version = '0.0.1-SNAPSHOT'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.postgresql:postgresql:42.7.4'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.kafka:spring-kafka-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
useJUnitPlatform()
}
31 changes: 31 additions & 0 deletions src/backend/workspace_server/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: '3.8'

services:
workspace-server:
image: mirlee/workspace_server
container_name: workspace_server
ports:
- "8080:8080"
environment:
DB_USER: ${DB_USER} # PostgreSQL 사용자
DB_PASSWORD: ${DB_PASSWORD} # PostgreSQL 비밀번호
DB_NAME: ${DB_NAME} # 공통 데이터베이스 이름
DB_HOST: db # PostgreSQL 컨테이너 이름 (서비스 이름과 동일)
DB_PORT: ${DB_PORT} # PostgreSQL 기본 포트
depends_on:
- db
#
# db:
# image: mirlee/postgresql-db:latest
# container_name: jootalkpia-db
# environment:
# POSTGRES_USER: ${DB_USER} # PostgreSQL 사용자
# POSTGRES_PASSWORD: ${DB_PASSWORD} # PostgreSQL 비밀번호
# POSTGRES_DB: ${DB_NAME} # 공통 데이터베이스 이름
# volumes:
# - postgres_data:/var/lib/postgresql/data
# ports:
# - "5432:5432" # 로컬 포트 5432 -> 컨테이너 포트 5432
#
#volumes:
# postgres_data:
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading
Loading