Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
948a06c
기본 요구사항 완료
lkim0402 Jun 11, 2025
d10a053
멘토님 수정사항 변경 + 심화
lkim0402 Jun 11, 2025
cbf61b8
추상화 작업 (save, deleteId)
lkim0402 Jun 12, 2025
6e826e9
Sprint 2 과제 제출
lkim0402 Jun 12, 2025
04c803c
Merge pull request #18 from lkim0402/leejun/sprint2
jinho-yoo-jack Jun 16, 2025
a7a0441
초기화 다시 시도
lkim0402 Jun 19, 2025
948cc47
Spring 초기화 시도
lkim0402 Jun 19, 2025
40ee68b
Spring 초기화 완료
lkim0402 Jun 19, 2025
6477b3e
Merge branch 'leejun/sprint3' of https://github.com/lkim0402/4-sprint…
lkim0402 Jun 19, 2025
1806dc2
새로운 도메인 추가 (ReadStatus, UserStatus, BinaryContent)
lkim0402 Jun 19, 2025
a1d6024
각 도메인 모델 별 레포지토리 인터페이스 구현
lkim0402 Jun 19, 2025
9610d6d
모든 Service 구현 완료
lkim0402 Jun 23, 2025
e1c1589
강사님 피드백
lkim0402 Jun 23, 2025
922e5ee
JCF Repository 완료
lkim0402 Jun 24, 2025
53b9d8c
나머지 JCF Repository완료
lkim0402 Jun 24, 2025
6b3fba8
JCF Repository 커멘트 추가, UUID reference로 수정
lkim0402 Jun 24, 2025
95f7f87
File Repository 구현 완료
lkim0402 Jun 25, 2025
9da564e
File Repository 리팩토링
lkim0402 Jun 25, 2025
d6f8f9b
deleteAll() 메서드와 @toString 추가, ChannelService 테스팅
lkim0402 Jun 25, 2025
6da26eb
userServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
a57d350
messageServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
b266473
authServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
5273a34
binaryContentServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
fab79a1
readStatusServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
9d13384
userStatusServiceTest 테스팅 완료
lkim0402 Jun 25, 2025
ae9757e
추가 기능 요구사항 완료 - 모든 Service DTO 응답 변환 완료, 테스팅 완료
lkim0402 Jun 26, 2025
8379cb9
심화 기능 완료
lkim0402 Jun 26, 2025
499449b
심화 코드 버그 수정
lkim0402 Jun 26, 2025
5e8be41
마지막 코드, 버그 수정
lkim0402 Jun 26, 2025
7f3d498
@Value 대신 @ConfigurationProperties으로 리팩토링
lkim0402 Jun 26, 2025
2878417
멘토님 피드백 반영
lkim0402 Jul 1, 2025
6e332e9
File*Repository 리소스 누수 버그 고침
lkim0402 Jul 1, 2025
0a2f744
Merge branch '김이준' into leejun/sprint3
lkim0402 Jul 1, 2025
b5dee1e
Merge branch '김이준' into leejun/sprint3
lkim0402 Jul 1, 2025
1f97eeb
웹 API 요구사항 완료
lkim0402 Jul 1, 2025
a72d2be
웹 API 요구사항 완료
lkim0402 Jul 1, 2025
6284518
Revert "File*Repository 리소스 누수 버그 고침"
lkim0402 Jul 2, 2025
884162f
Revert "File*Repository 리소스 누수 버그 고침"
lkim0402 Jul 2, 2025
cf4eb61
Reapply "File*Repository 리소스 누수 버그 고침"
lkim0402 Jul 2, 2025
d6b1a28
Reapply "File*Repository 리소스 누수 버그 고침"
lkim0402 Jul 2, 2025
73c931d
인덴트, 주석 수정
lkim0402 Jul 2, 2025
93819ae
인덴트, 주석 수정
lkim0402 Jul 2, 2025
f104ddc
주석 처리
lkim0402 Jul 2, 2025
f6b987a
주석 처리
lkim0402 Jul 2, 2025
98bcc1a
MultipartFile 사용
lkim0402 Jul 2, 2025
b4c8ee6
MultipartFile 사용
lkim0402 Jul 2, 2025
7ed70f7
서비스 로직 수정
lkim0402 Jul 2, 2025
9a3e04b
서비스 로직 수정
lkim0402 Jul 2, 2025
60acdc1
서비스 코드 수정
lkim0402 Jul 2, 2025
858b871
서비스 코드 수정
lkim0402 Jul 2, 2025
4eee212
심화 요구사항 완료
lkim0402 Jul 2, 2025
27b37c2
심화 요구사항 완료
lkim0402 Jul 2, 2025
879712f
심화 요구사항 완성 + 코드 정리
lkim0402 Jul 2, 2025
4027c5f
심화 요구사항 완성 + 코드 정리
lkim0402 Jul 2, 2025
90521b1
CSS 파일 변경
lkim0402 Jul 2, 2025
d5579d5
CSS 파일 변경
lkim0402 Jul 2, 2025
26bc5cd
CSS 파일 변경
lkim0402 Jul 2, 2025
944ab8f
CSS 파일 변경
lkim0402 Jul 2, 2025
b7366a0
Swagger @Tag 추가
lkim0402 Jul 8, 2025
a072ff3
Swagger @Tag 추가
lkim0402 Jul 8, 2025
747ef83
Swagger @Tag 추가
lkim0402 Jul 8, 2025
bb76013
DTO 리팩토링 - Auth,Channel,Message,User
lkim0402 Jul 8, 2025
15a513f
DTO 리팩토링 - Auth,Channel,Message,User
lkim0402 Jul 8, 2025
b5b6713
DTO 리팩토링 - Auth,Channel,Message,User
lkim0402 Jul 8, 2025
9556c0e
DTO 리팩토링 - BinaryContent, ReadStatus, UserStatus
lkim0402 Jul 8, 2025
93119e4
DTO 리팩토링 - BinaryContent, ReadStatus, UserStatus
lkim0402 Jul 8, 2025
fb47c79
DTO 리팩토링 - BinaryContent, ReadStatus, UserStatus
lkim0402 Jul 8, 2025
ee2fefd
멘토님 피드백 반영, Swagger 시작
lkim0402 Jul 8, 2025
2e91688
멘토님 피드백 반영, Swagger 시작
lkim0402 Jul 8, 2025
0bc2214
멘토님 피드백 반영, Swagger 시작
lkim0402 Jul 8, 2025
54d121b
GlobalExceptionHandler 추가
lkim0402 Jul 8, 2025
e0fcf51
GlobalExceptionHandler 추가
lkim0402 Jul 8, 2025
c105390
GlobalExceptionHandler 추가
lkim0402 Jul 8, 2025
2e48d67
API spec 수정
lkim0402 Jul 9, 2025
a42337c
API spec 수정
lkim0402 Jul 9, 2025
1aae2ba
API spec 수정
lkim0402 Jul 9, 2025
ffbaa5e
API spec완료
lkim0402 Jul 9, 2025
e7fbb45
API spec완료
lkim0402 Jul 9, 2025
9f81a1c
API spec완료
lkim0402 Jul 9, 2025
087dbf1
코드 정리
lkim0402 Jul 9, 2025
7ab2a9b
코드 정리
lkim0402 Jul 9, 2025
53cb47e
코드 정리
lkim0402 Jul 9, 2025
2cf0210
코드 정리
lkim0402 Jul 10, 2025
deedcb4
코드 정리
lkim0402 Jul 10, 2025
3bdf4a5
코드 정리
lkim0402 Jul 10, 2025
0e1ba68
swagger 코드 DTO에 추가
lkim0402 Jul 10, 2025
9ed216d
swagger 코드 DTO에 추가
lkim0402 Jul 10, 2025
beca26e
swagger 코드 DTO에 추가
lkim0402 Jul 10, 2025
2a3d014
테스트 완료, 버그 수정
lkim0402 Jul 10, 2025
4a42105
테스트 완료, 버그 수정
lkim0402 Jul 10, 2025
e00bc27
테스트 완료, 버그 수정
lkim0402 Jul 10, 2025
5a0a08d
Stop tracking data and directory files
lkim0402 Jul 10, 2025
293f802
Stop tracking data and directory files
lkim0402 Jul 10, 2025
0a809a3
Stop tracking data and directory files
lkim0402 Jul 10, 2025
4c1415a
코드 정리
lkim0402 Jul 10, 2025
9c1fd5b
코드 정리
lkim0402 Jul 10, 2025
cd70505
코드 정리
lkim0402 Jul 10, 2025
8069fbe
Update .gitignore
lkim0402 Jul 10, 2025
e9eba26
Update .gitignore
lkim0402 Jul 10, 2025
68dc781
Update .gitignore
lkim0402 Jul 10, 2025
ea31f25
Update .gitignore
lkim0402 Jul 10, 2025
359a47d
Update .gitignore
lkim0402 Jul 10, 2025
47db0d7
Update .gitignore
lkim0402 Jul 10, 2025
7d9e443
Update .gitignore
lkim0402 Jul 10, 2025
d0a9ccb
Update .gitignore
lkim0402 Jul 10, 2025
921744f
Update .gitignore
lkim0402 Jul 10, 2025
710cf70
코드 정리
lkim0402 Jul 10, 2025
6ec753c
코드 정리
lkim0402 Jul 10, 2025
5ccb256
코드 정리
lkim0402 Jul 10, 2025
38f7b99
프론트 적용
lkim0402 Jul 10, 2025
a822326
프론트 적용
lkim0402 Jul 10, 2025
d78194c
프론트 적용
lkim0402 Jul 10, 2025
4b76aaf
multipart file 용량 늘림
lkim0402 Jul 10, 2025
4617bf2
multipart file 용량 늘림
lkim0402 Jul 10, 2025
f8aa07d
multipart file 용량 늘림
lkim0402 Jul 10, 2025
5fa3b2c
Merge branch 'main' of https://github.com/lkim0402/4-sprint-mission
lkim0402 Jul 23, 2025
7fcb05a
Merge branch 'main' of https://github.com/lkim0402/4-sprint-mission
lkim0402 Jul 23, 2025
9608d09
Merge branch 'main' of https://github.com/lkim0402/4-sprint-mission
lkim0402 Aug 8, 2025
030c4fc
추가 베이스 코드
lkim0402 Aug 11, 2025
d697037
추가 application-dev.yaml, application-prod.yaml
lkim0402 Aug 11, 2025
4ff0c8a
추가 application.yml에 로깅 설정
lkim0402 Aug 11, 2025
40cb2ae
추가 logback-spring.xml
lkim0402 Aug 11, 2025
c802e80
정리 yaml, xml 파일
lkim0402 Aug 11, 2025
f465143
추가 Slf4j를 사용한 logging
lkim0402 Aug 11, 2025
d74374d
추가 주요 DTO bean validation
lkim0402 Aug 11, 2025
1f6e598
대체 커스텀 예외
lkim0402 Aug 11, 2025
2166b63
추가 ErrorResponse, 완료 예외 처리 고도화
lkim0402 Aug 11, 2025
0ec9d2a
추가 @Valid 어노테이션 (컨트롤러 계층)
lkim0402 Aug 11, 2025
599b8ba
추가 MethodArgumentNotValidException 핸들러
lkim0402 Aug 11, 2025
e4cb21e
완료 Actuator info
lkim0402 Aug 11, 2025
6e97631
고침 actuator/info 버그
lkim0402 Aug 12, 2025
6ff9de8
추가 ChannelService 단위 테스트
lkim0402 Aug 12, 2025
e7e5682
코드정리 ChannelService 단위 테스트
lkim0402 Aug 12, 2025
bd683fb
버그 고침 (+테스팅) ChannelService 단위 테스트
lkim0402 Aug 12, 2025
c54d2c7
추가 MessageService 메시지 생성 단위 테스트
lkim0402 Aug 12, 2025
e7773b8
추가 MessageService 메시지 생성 단위 테스트 실패
lkim0402 Aug 12, 2025
cf53768
추가 MessageService 단위 테스트
lkim0402 Aug 13, 2025
c166f0e
완료 MessageService 단위 테스트
lkim0402 Aug 14, 2025
f9589b0
추가 ChannelRepository 슬라이스 테스트, 수정 yml 파일
lkim0402 Aug 14, 2025
2bb07fa
완료 MessageRepository 슬라이스 테스트
lkim0402 Aug 14, 2025
6efee8d
완료 UserRepository 슬라이스 테스트
lkim0402 Aug 14, 2025
9574098
완료 UserControllerTest 슬라이스 테스트
lkim0402 Aug 15, 2025
be55696
완료 MessageControllerTest 슬라이스 테스트, 수정 GloalExceptionHandler
lkim0402 Aug 15, 2025
ce2e15d
완료 ChannelControllerTest 슬라이스 테스트
lkim0402 Aug 15, 2025
375e56d
추가 JSON 응답 검증
lkim0402 Aug 15, 2025
9003828
완료 ChannelIntegrationTest 통합 테스트
lkim0402 Aug 15, 2025
8e77d55
완료 UserIntegrationTest 통합 테스트
lkim0402 Aug 15, 2025
1eb5efe
완료 MessageIntegrationTest 통합 테스트
lkim0402 Aug 15, 2025
6d0970e
Update .gitignore
lkim0402 Aug 15, 2025
0ecb14b
Update .gitignore
lkim0402 Aug 15, 2025
222fd72
추가 베이스코드
lkim0402 Aug 22, 2025
554b250
완성 어플리케이션 컨테이너화
lkim0402 Aug 22, 2025
d6bc508
Update .gitignore
lkim0402 Aug 22, 2025
b2d0cdf
구현 s3BinaryContentStorage
lkim0402 Aug 24, 2025
a538b5f
구현 S3 관련 테스트코드
lkim0402 Aug 25, 2025
ee98176
추가 Component (S3BinaryContentStorage)
lkim0402 Aug 25, 2025
191293d
고침 환경변수 버그
lkim0402 Aug 25, 2025
36e447d
정리 주석
lkim0402 Aug 25, 2025
239290d
수정 .gitignore
lkim0402 Aug 27, 2025
2d7ece0
테스트 jacoco
lkim0402 Aug 27, 2025
b2637a7
테스트 jacoco (yml 수정)
lkim0402 Aug 27, 2025
861234f
테스트 jacoco (test.yml)
lkim0402 Aug 27, 2025
421d03f
테스트 jacoco (test.yml)
lkim0402 Aug 27, 2025
6e77b54
추가 test.yml에 secret 환경변수
lkim0402 Aug 27, 2025
2ca51bd
테스트 S3Testcode
lkim0402 Aug 27, 2025
f85ee7e
Revert "테스트 S3Testcode"
lkim0402 Aug 27, 2025
88af157
Update deploy.yml
lkim0402 Aug 27, 2025
d4f5482
테스트 test.yml
lkim0402 Aug 27, 2025
f1874c0
테스트 test.yml
lkim0402 Aug 27, 2025
e20f9f8
테스트 test.yml
lkim0402 Aug 27, 2025
bf0a081
테스트 test.yml (테스트 수정)
lkim0402 Aug 28, 2025
be50871
테스트 test.yml
lkim0402 Aug 28, 2025
34acd28
수정 test.yml
lkim0402 Aug 28, 2025
812124b
수정 test.yml
lkim0402 Aug 28, 2025
9387044
수정 test.yml (failure test 찾도록 추가)
lkim0402 Aug 28, 2025
12d1628
추가 application-test.yml
lkim0402 Aug 28, 2025
c81bda4
수정 build.gradle
lkim0402 Aug 28, 2025
4c1203d
추가 ActiveProfiles
lkim0402 Aug 28, 2025
3d42bd6
변경 schema.sql 위치
lkim0402 Aug 28, 2025
7127850
테스트 jacoco
lkim0402 Aug 28, 2025
2b1136b
수정 test.yml
lkim0402 Aug 28, 2025
ad4f4b6
오류 수정 test.yml
lkim0402 Aug 28, 2025
9945d73
Merge branch 'leejun/sprint8'
lkim0402 Aug 28, 2025
975f031
추가 deploy.yml
lkim0402 Aug 28, 2025
c95244b
오류 수정 deploy.yml
lkim0402 Aug 28, 2025
b036d03
수정 deploy.yml
lkim0402 Aug 28, 2025
fca6b77
Update deploy.yml
lkim0402 Aug 28, 2025
ad253c7
Merge branch 'leejun/sprint8'
lkim0402 Aug 28, 2025
ce68e2a
수정 deploy.yml
lkim0402 Aug 28, 2025
87eb53e
수정 deploy.yml
lkim0402 Aug 28, 2025
3ed7e29
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
dfe86e2
수정 deploy.yml
lkim0402 Aug 28, 2025
b8ce45c
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
6f671ee
수정 deploy.yml
lkim0402 Aug 28, 2025
c696205
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
dc85fae
수정 deploy.yml
lkim0402 Aug 28, 2025
2d622c5
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
6bdda5b
추가 dockerignore
lkim0402 Aug 28, 2025
e279074
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
e45a0dd
Update .dockerignore
lkim0402 Aug 28, 2025
53592d3
Merge branch 'leejun/sprint8' into release
lkim0402 Aug 28, 2025
d8b6637
Update deploy.yml
lkim0402 Aug 28, 2025
5c59a27
수정 deploy.yml
lkim0402 Aug 28, 2025
fe3360e
주석 정리
lkim0402 Aug 28, 2025
53f60f6
Enhance README with project details
lkim0402 Sep 2, 2025
440b9f3
추가 base code
lkim0402 Sep 29, 2025
bc8bee1
Merge branch 'leejun/sprint8' of https://github.com/lkim0402/4-sprint…
lkim0402 Sep 29, 2025
9b7b288
삭제 .ser 파일
lkim0402 Sep 29, 2025
e0e7dd8
추가 csrf 관련 코드
lkim0402 Sep 29, 2025
5c17d62
추가 어노테이션
lkim0402 Sep 29, 2025
e3019f0
추가 passwordEncoder
lkim0402 Sep 29, 2025
96a1acc
추가 UserDetails, UserDetailsService
lkim0402 Sep 29, 2025
037f8e5
추가 login failure/success handler
lkim0402 Sep 29, 2025
207bf5b
삭제 login 관련 코드
lkim0402 Sep 29, 2025
69226d7
정리 코드
lkim0402 Sep 29, 2025
688ec0e
추가 주석
lkim0402 Sep 29, 2025
68c011a
추가 로그아웃
lkim0402 Sep 29, 2025
6619208
추가 Role enum
lkim0402 Sep 29, 2025
d49bcd4
추가 user role
lkim0402 Sep 30, 2025
7a2db40
수정 securityconfig
lkim0402 Sep 30, 2025
c662b8a
수정 주석
lkim0402 Sep 30, 2025
3f3a04f
추가 customAccessDeniedHandler, customAuthenticationEntryPoint
lkim0402 Sep 30, 2025
1c40b5b
추가 authentication principal & 리팩토링
lkim0402 Sep 30, 2025
3ee4729
코드 정리 security config
lkim0402 Sep 30, 2025
4dd9789
추가 rememberme 기능
lkim0402 Sep 30, 2025
3ea7fcc
추가 session 관련 코드
lkim0402 Oct 1, 2025
275782b
추가 동시 session 예외
lkim0402 Oct 1, 2025
b4f9a85
고침 오류
lkim0402 Oct 1, 2025
8e0c21e
주석
lkim0402 Oct 1, 2025
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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
29 changes: 29 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Git folder and history
.git
.gitignore

# IDE files
.idea/
.vscode/
*.iml

# Build artifacts (if not needed)
target/
build/
*.log

# OS files
.DS_Store
Thumbs.db

# Documentation
README.md
*.md

# CI/CD files
.github/

# Large/unnecessary files
*.ser
*.dump
*.log
87 changes: 87 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: 배포

on:
push:
branches:
- release

jobs:
build-and-push:
runs-on: ubuntu-latest
outputs:
image_tag: ${{ github.sha }}

steps:
- uses: actions/checkout@v4

- name: AWS CLI 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: us-east-1

- name: ECR 로그인
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public

- name: Docker 이미지 빌드 및 푸시
run: |
docker buildx build \
-t ${{ vars.ECR_REPOSITORY_URI }}:${{ github.sha }} \
-t ${{ vars.ECR_REPOSITORY_URI }}:latest \
--push \
.
deploy:
runs-on: ubuntu-latest
needs: build-and-push

steps:
- name: AWS CLI 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ${{ vars.AWS_REGION }}

- name: ECS 태스크 정의 업데이트
run: |
TASK_DEFINITION=$(
aws ecs describe-task-definition \
--task-definition ${{ vars.ECS_TASK_DEFINITION }}
)
NEW_TASK_DEFINITION=$(
echo $TASK_DEFINITION | jq \
--arg IMAGE "${{ vars.ECR_REPOSITORY_URI }}:latest" \
'.taskDefinition | .containerDefinitions[0].image = $IMAGE | del(.taskDefinitionArn, .revision, .status, .requiresAttributes, .compatibilities, .registeredAt, .registeredBy)'
)
# 새로운 태스크 정의 등록
NEW_TASK_DEF_ARN=$(
aws ecs register-task-definition \
--cli-input-json "$NEW_TASK_DEFINITION" | \
jq -r '.taskDefinition.taskDefinitionArn'
)
# 환경 파일에 변수 저장 (다음 단계에서 사용 가능)
echo "NEW_TASK_DEF_ARN=$NEW_TASK_DEF_ARN" >> $GITHUB_ENV
- name: ECS 서비스 중지(프리티어 환경 고려)
run: |
aws ecs update-service \
--cluster ${{ vars.ECS_CLUSTER }} \
--service ${{ vars.ECS_SERVICE }} \
--desired-count 0
- name: ECS 서비스 업데이트
run: |
aws ecs update-service \
--cluster ${{ vars.ECS_CLUSTER }} \
--service ${{ vars.ECS_SERVICE }} \
--task-definition $NEW_TASK_DEF_ARN \
--desired-count 1 \
--force-new-deployment
30 changes: 30 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: 테스트

on:
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: 체크아웃
uses: actions/checkout@v4

- name: JDK 17 설정
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'corretto'
cache: gradle

- name: 테스트 실행
run: ./gradlew test

- name: Codecov 테스트 커버리지 업로드
uses: codecov/codecov-action@v3
with:
files: build/reports/jacoco/test/jacocoTestReport.xml
token: ${{ secrets.CODECOV_TOKEN }} # 퍼블릭 저장소라면 생략 가능
38 changes: 23 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### TEST data ###
/file-data-map
/file-directory
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### STS ###
### Eclipse ###
.apt_generated
.classpath
.factorypath
Expand All @@ -21,16 +25,6 @@ bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

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


### NetBeans ###
/nbproject/private/
/nbbuild/
Expand All @@ -40,3 +34,17 @@ out/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

### Discodeit ###
.discodeit

### 숨김 파일 ###
.*
!.gitignore


### Github Actions ###
!.github/
40 changes: 40 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 빌드 스테이지
FROM amazoncorretto:17 AS builder

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

# Gradle Wrapper 파일 먼저 복사
COPY gradle ./gradle
COPY gradlew ./gradlew

# Gradle 캐시를 위한 의존성 파일 복사
COPY build.gradle settings.gradle ./

# 의존성 다운로드
RUN ./gradlew dependencies

# 소스 코드 복사 및 빌드
COPY src ./src
RUN ./gradlew build -x test


# 런타임 스테이지
FROM amazoncorretto:17-alpine3.21

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

# 프로젝트 정보를 ENV로 설정
ENV PROJECT_NAME=discodeit \
PROJECT_VERSION=1.2-M8 \
JVM_OPTS=""

# 빌드 스테이지에서 jar 파일만 복사
COPY --from=builder /app/build/libs/${PROJECT_NAME}-${PROJECT_VERSION}.jar ./

# 80 포트 노출
EXPOSE 80

# jar 파일 실행
ENTRYPOINT ["sh", "-c", "java ${JVM_OPTS} -jar ${PROJECT_NAME}-${PROJECT_VERSION}.jar"]
22 changes: 22 additions & 0 deletions HELP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Getting Started

### Reference Documentation
For further reference, please consider the following sections:

* [Official Gradle documentation](https://docs.gradle.org)
* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.0/gradle-plugin)
* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.0/gradle-plugin/packaging-oci-image.html)
* [Spring Web](https://docs.spring.io/spring-boot/3.4.0/reference/web/servlet.html)

### Guides
The following guides illustrate how to use some features concretely:

* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)

### Additional Links
These additional references should also help you:

* [Gradle Build Scans – insights for your project's build](https://scans.gradle.com#gradle)

3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# 0-spring-mission

스프린트 미션 모범 답안 리포지토리입니다.

[![codecov](https://codecov.io/gh/codeit-bootcamp-spring/0-sprint-mission/branch/s8%2Fadvanced/graph/badge.svg?token=XRIA1GENAM)](https://codecov.io/gh/codeit-bootcamp-spring/0-sprint-mission)
Loading