Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
ec66fbd
feat: DiaryController Mock Server 추가
TTaiJin Mar 25, 2025
1a8b0ed
feat: 다이어리 수정 DTO 추가
TTaiJin Mar 25, 2025
ab40ff1
feat: 다이어리 생성 DTO 추가
TTaiJin Mar 25, 2025
b21aee0
refactor: 다이어리 수정 DTO 변경
TTaiJin Mar 25, 2025
2e69a83
refactor: 다이어리 도메인 리팩토링
TTaiJin Mar 25, 2025
1430ae9
feat: DiaryService 추가
TTaiJin Mar 25, 2025
e4c673a
feat: Media 도메인 Mock Server 추가
TTaiJin Mar 25, 2025
99e1507
chore: 프로퍼티 -> yml,
sapiens2000 Mar 25, 2025
93333a9
feat: MediaController 목서버 응답 추가
TTaiJin Mar 25, 2025
6984522
refactor: Diary 도메인 목서버 리팩토링
TTaiJin Mar 25, 2025
8696466
feat: BaseTimeEntity 생성
TTaiJin Mar 25, 2025
e52ab09
feat: oAuth2 response dto 추가
sapiens2000 Mar 25, 2025
69e0354
feat: Entity base 생성
TTaiJin Mar 25, 2025
55a6df4
feat: 공개여부, 날씨 ENUM 생성
TTaiJin Mar 25, 2025
4bb170e
feat: Diary 도메인 구체화
TTaiJin Mar 26, 2025
489f847
feat: 다이어리 생성 구현
TTaiJin Mar 26, 2025
43fba9c
chore: QueryDSL 의존성 추가
TTaiJin Mar 26, 2025
75b853c
feat: 공개여부에 ALL 추가(마이페이지용)
TTaiJin Mar 26, 2025
da71ef7
chore: QueryDSL 의존성 삭제
TTaiJin Mar 26, 2025
f9cb4a7
feat: security config 추가
sapiens2000 Mar 26, 2025
60997ef
chore: mysql 의존성 추가
sapiens2000 Mar 27, 2025
6b27f28
chore: 운영, 개발 프로필 분리
sapiens2000 Mar 27, 2025
80f359c
chore: 프로퍼티 -> yml,
sapiens2000 Mar 25, 2025
f56869e
feat: oAuth2 response dto 추가
sapiens2000 Mar 25, 2025
565a32e
feat: security config 추가
sapiens2000 Mar 26, 2025
293accd
chore: mysql 의존성 추가
sapiens2000 Mar 27, 2025
0b93ecb
chore: 운영, 개발 프로필 분리
sapiens2000 Mar 27, 2025
046abad
feat: jwt 필터 추가
sapiens2000 Mar 27, 2025
6231fa3
feat: user 도메인 에러코드, 예외 뼈대 추가
sapiens2000 Mar 27, 2025
f3090bf
Merge branch 'feature/login' of https://github.com/prgrms-web-devcour…
sapiens2000 Mar 27, 2025
97c7ece
feat: 다이어리 도메인 CRUD 구현
TTaiJin Mar 27, 2025
6dd5069
chore: security 활성화
sapiens2000 Mar 27, 2025
7eafd42
refactor: oauth2 이미지 경로 추가
sapiens2000 Mar 27, 2025
2e48b49
feat: CustomOAUth2User 정의
sapiens2000 Mar 27, 2025
e3ff283
feat: OAuth2 User, Service 정의
sapiens2000 Mar 28, 2025
f589959
feat: jwt filter, jwt util 추가
sapiens2000 Mar 28, 2025
2be5744
feat: UserService 추가
sapiens2000 Mar 28, 2025
8718c9c
chore: 개발용으로 임시 설정 (ddl-auto create)
sapiens2000 Mar 28, 2025
dca2300
refactor: attribute 수정
sapiens2000 Mar 28, 2025
6ced77e
feat: 테스트용 UserController 추가
sapiens2000 Mar 28, 2025
f074a59
chore: security 활성화
sapiens2000 Mar 28, 2025
0d9714f
chore: 쿠키 secure 해제 (개발용)
sapiens2000 Mar 28, 2025
e0d5fbf
chore: Value 이름 오류 수정
sapiens2000 Mar 28, 2025
a3fab19
refactor: JPA 연관관계 매핑 -> ID 외래키 방식 변경
TTaiJin Mar 28, 2025
4561fde
refactor: 병합 전 수정
TTaiJin Mar 28, 2025
57664bc
병합 충돌 해결
TTaiJin Mar 28, 2025
ab7cfb1
refactor: 만료되도 정보 추출 가능하게 변경
sapiens2000 Mar 28, 2025
387924e
feat: 리프레시 토큰 재발급 임시 추가
sapiens2000 Mar 28, 2025
7b4d694
chore: security 허용 경로 수정 및 jwtfilter 빈 추가
sapiens2000 Mar 28, 2025
f21326b
chore: 테스트용 불필요 데이터 임시 주석 처리
sapiens2000 Mar 28, 2025
28f0530
refactor: 변수 final 변경
sapiens2000 Mar 28, 2025
afd2055
feat: 쿠키에서 토큰 추출 로직
sapiens2000 Mar 28, 2025
06e986a
refactor: 토큰 만료시간 재설정
sapiens2000 Mar 28, 2025
0056a34
refactor: 토큰 타입을 위한 변수 category -> token 으로 변경
sapiens2000 Mar 28, 2025
0a4c2b7
refactor: 병합 후 수정
TTaiJin Mar 28, 2025
c1154fa
refactor: N+1 개선
TTaiJin Mar 28, 2025
dc27239
Merge branch 'develop' into feature/login
sapiens2000 Mar 28, 2025
906220f
refactor: MediaRepository 메서드 변경
TTaiJin Mar 28, 2025
b559217
refactor: 코드 리뷰 반영(QueryDSL 적용 전)
TTaiJin Mar 29, 2025
f1bf3a3
refactor: QueryDSL 적용 + 추가 개선
TTaiJin Mar 29, 2025
7d386a0
refactor: CustomDiaryRepositoryImpl 리팩토링
TTaiJin Mar 29, 2025
5321a3e
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
0c07c3a
Merge pull request #18 from prgrms-web-devcourse-final-project/featur…
sapiens2000 Mar 30, 2025
0c3c071
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
fee7cd1
Merge pull request #19 from prgrms-web-devcourse-final-project/featur…
sapiens2000 Mar 30, 2025
e52abaf
refactor: Comment의 content 필드 nullable false 추가
TTaiJin Mar 30, 2025
643e2dc
충돌 해결
TTaiJin Mar 30, 2025
aeff9ee
refactor: develop rebase 이후 Support 엔티티 클래스에 column용 어노테이션 추가
InJunKangW Mar 30, 2025
a7e776a
refactor: Report 엔티티 클래스가 BaseEntity 클래스를 상속하도록 변경, Column 어노테이션 추가
InJunKangW Mar 30, 2025
f95eaba
refactor: Support 엔티티 클래스가 BaseEntity 클래스를 상속하도록 변경 (updatedAt은 answe…
InJunKangW Mar 30, 2025
d88007f
refactor: Page 파라미터 null일 시 defaultValue 추가
InJunKangW Mar 30, 2025
1363bbf
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
ea895bf
Merge pull request #20 from prgrms-web-devcourse-final-project/featur…
sapiens2000 Mar 30, 2025
10e6ab6
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
fdc9e28
Merge pull request #21 from prgrms-web-devcourse-final-project/featur…
sapiens2000 Mar 30, 2025
3813a0f
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
7618750
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
c87f409
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
7a38b2f
test: SupportService 단위 테스트 작성
InJunKangW Mar 30, 2025
b68d0af
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
67f3851
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
70f507d
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
e26d6fd
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
20ab480
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
4156c58
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
715139b
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
666b9b5
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
e04b6d8
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
e0d6dc9
chore: aws 배포 스크립트 수정
sapiens2000 Mar 30, 2025
0ddecb7
chore: 카카오 키 등록
sapiens2000 Mar 30, 2025
5073e7a
test: DiaryRepository 테스트 구현
TTaiJin Mar 30, 2025
d58eced
refactor: 함수로 분리
sapiens2000 Mar 30, 2025
e814bb8
test: DiaryService 테스트 구현
TTaiJin Mar 30, 2025
c696e21
feat: 로그아웃 필터 구현
sapiens2000 Mar 30, 2025
a4acc17
feat: 리프레시 토큰 RDB 저장 로직
sapiens2000 Mar 30, 2025
3584df3
refactor: jwt 토큰값 추가 (name)
sapiens2000 Mar 30, 2025
49f2886
refactor: 함수 파라미터 위치 변경
sapiens2000 Mar 30, 2025
c803b8e
refactor: 로그아웃 시 POST 인지 검사
sapiens2000 Mar 30, 2025
747b494
remove: 중복되는 Comment 엔티티 클래스 삭제
InJunKangW Mar 31, 2025
6c4b876
test: DiaryService 테스트 리팩토링
TTaiJin Mar 31, 2025
701343b
fix: 오타 수정
TTaiJin Mar 31, 2025
8293eaa
fix: comment entity 중복 오류 수정
sapiens2000 Mar 31, 2025
d260bc7
chore: 로깅 레벨 임시로 debug로 변경
sapiens2000 Mar 31, 2025
ed45127
Merge branch 'develop' into feature/login
sapiens2000 Mar 31, 2025
adcd57c
feat: 특정 다이어리 댓글 전체 조회(커서 기반) API 구현
dnzp75 Mar 31, 2025
e5b3787
test: 특정 다이어리 댓글 전체 조회(커서 기반) 단위 테스트 작성
dnzp75 Mar 31, 2025
440f944
chore: MYSQL8Dialect -> MYSQLDialect
sapiens2000 Mar 31, 2025
0cae50a
refactor: providerId 문자열로 수정
sapiens2000 Mar 31, 2025
043f65a
chore: 개발, 운영 프로필 분리
sapiens2000 Mar 31, 2025
76c989d
refactor: 클라이언트로부터 page size 받는 식으로 변경
TTaiJin Mar 31, 2025
efa5daa
chore: dev 빌드 스크립트 수정
sapiens2000 Mar 31, 2025
a8f81d9
chore: 빌드 스크립트 일부 수정
sapiens2000 Mar 31, 2025
30d21c6
chore: 테스트 레포트 업로드
sapiens2000 Mar 31, 2025
546b1b4
chore: MYSQL 도커 컨테이너 활용
sapiens2000 Mar 31, 2025
0b60081
refactor: 기본 테스트 코드 임시 비활성화
sapiens2000 Mar 31, 2025
b6ff618
chore: build 테스트 수동 설정
sapiens2000 Mar 31, 2025
f2b5fc2
Merge branch 'develop' into feature/comment-read
sapiens2000 Mar 31, 2025
a5ee16f
Merge branch 'develop' into feature/diary
sapiens2000 Mar 31, 2025
572c26a
fix: mysql 이미지명 오류 수정
sapiens2000 Mar 31, 2025
fc1a79c
Merge branch 'develop' into feature/diary
sapiens2000 Mar 31, 2025
db68741
chore: 소나클라우드 수동분석 임시 비활성화
sapiens2000 Mar 31, 2025
86d6add
Merge branch 'develop' into feature/diary
sapiens2000 Mar 31, 2025
7e73db0
Merge branch 'develop' into feature/comment-read
sapiens2000 Mar 31, 2025
7f33a13
Merge branch 'develop' into feature/reports&supports
sapiens2000 Mar 31, 2025
0b17f98
Merge branch 'develop' into feature/login
sapiens2000 Apr 1, 2025
411ad0f
chore: 시크릿 키 활용을 위해 dev 프로필 yml 파일 하나로 합침
sapiens2000 Apr 1, 2025
50fc207
refactor: 작성자 본인 체크 예외 던지는 부분 변경
TTaiJin Apr 1, 2025
4a58412
fix: 카카오 로그인 오류 수정
sapiens2000 Apr 1, 2025
b43193a
refactor: Provider -> SocialType enum 변환
sapiens2000 Apr 1, 2025
005f1f1
refactor: 프로필 이미지 가져오는 로직 수정
sapiens2000 Apr 1, 2025
3411772
refactor: 정규식 간소화
sapiens2000 Apr 1, 2025
fccf956
refactor: checkstyle 오류 제거
sapiens2000 Apr 1, 2025
7ee891c
refactor: 리디렉션 함수 분리
sapiens2000 Apr 1, 2025
58ae436
chore: prod, dev 프로필 분리 및 그룹핑
sapiens2000 Apr 1, 2025
f481886
Merge branch 'develop' into feature/login
sapiens2000 Apr 1, 2025
a545978
chore: prod, dev 프로필 분리 및 그룹핑
sapiens2000 Apr 1, 2025
bced8d5
Merge branch 'develop' into feature/login
sapiens2000 Apr 1, 2025
eeaaf0f
chore: dev 프로필 빠져서 추가.
sapiens2000 Apr 1, 2025
f7b4427
refactor: jwt filter 리팩토링
sapiens2000 Apr 1, 2025
c6bfc5e
chore: 운영, 개발용 시크릿 키 파일 분리
sapiens2000 Apr 1, 2025
a324a0d
refactor: url 상수 클래스로 분리
sapiens2000 Apr 1, 2025
cda57b4
refactor: filter 리팩토링
sapiens2000 Apr 1, 2025
7a75d63
fix: 오류나는 코드 제거
dnzp75 Apr 1, 2025
70fa4f2
Merge branch 'feature/diary' into develop
TTaiJin Apr 1, 2025
5bbbbf6
Create pull_request_template.md
InJunKangW Apr 1, 2025
210b58f
Merge pull request #22 from prgrms-web-devcourse-final-project/featur…
dnzp75 Apr 1, 2025
39e5301
Merge pull request #24 from prgrms-web-devcourse-final-project/featur…
dnzp75 Apr 1, 2025
b4bb936
chore: 프로필 분리 적용
sapiens2000 Apr 1, 2025
11b4cd6
Merge branch 'develop' of https://github.com/prgrms-web-devcourse-fin…
sapiens2000 Apr 1, 2025
c381e0e
Merge branch 'develop' into feature/login
sapiens2000 Apr 1, 2025
10f33f3
chore: oauth2 dev, profile 변수 분리
sapiens2000 Apr 1, 2025
ef1fe0c
Merge pull request #14 from prgrms-web-devcourse-final-project/featur…
sapiens2000 Apr 1, 2025
2d3e035
chore: claude dev에 pr할때만 하게 수정
sapiens2000 Apr 1, 2025
ada259f
chore: deploy 조건 수정
sapiens2000 Apr 1, 2025
9d99a29
chore: aws region 오류 수정
sapiens2000 Apr 1, 2025
3d81750
chore: aws credential 오류 수정
sapiens2000 Apr 1, 2025
8f4a2ae
chore: yml 파일 생성 수정
sapiens2000 Apr 1, 2025
dbc2c97
chore: yml 파일 토큰 수정
sapiens2000 Apr 1, 2025
8f5d7d0
chore: yml 파일 토큰 수정
sapiens2000 Apr 1, 2025
14184f6
chore: secret 값 테스트
sapiens2000 Apr 1, 2025
7c2e2c1
chore: secret 생성 디버그
sapiens2000 Apr 1, 2025
513d429
chore: yml 생성 디버그
sapiens2000 Apr 1, 2025
c8bca10
chore: yml 생성 디버그
sapiens2000 Apr 1, 2025
ac142cd
chore: yml 생성 디버그
sapiens2000 Apr 1, 2025
6675338
chore: yml 생성 스크립트 수정
sapiens2000 Apr 1, 2025
8718b0d
chore: rsync 테스트
sapiens2000 Apr 1, 2025
3a605e5
chore: secret 재생성
sapiens2000 Apr 1, 2025
f063158
chore: stop 스크립트 훅 변경
sapiens2000 Apr 1, 2025
34bbd21
chore: build 수동 생성
sapiens2000 Apr 1, 2025
11cb53f
chore: job 통합
sapiens2000 Apr 1, 2025
c660db3
chore: 빌드 script 수정, README API 서버 주소 추가
sapiens2000 Apr 1, 2025
f4ba8f8
refactor: swagger 필터 우회 하게 수정
sapiens2000 Apr 1, 2025
e7f7afa
refactor: swagger 필터 우회 조건 추가
sapiens2000 Apr 1, 2025
edc0f95
refactor: deploy 파일 복사하게 스크립트 수정
sapiens2000 Apr 1, 2025
4086b9b
chore: 빌드스크립트 수정 및 개선사항 주석처리
sapiens2000 Apr 1, 2025
5fb1e36
chore: jar 실행 스크립트 수정
sapiens2000 Apr 1, 2025
5a7087a
fix: 스웨거 문서 시큐리티 제외
sapiens2000 Apr 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
45 changes: 0 additions & 45 deletions .github/workflows/build.yml

This file was deleted.

108 changes: 87 additions & 21 deletions .github/workflows/ci.cd.prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,14 @@ on:
types:
- closed
workflow_dispatch: # 수동 실행 가능


# 병합됐을 때
jobs:
deploy:
Build:
runs-on: ubuntu-latest
steps:
# 체크아웃
- uses: actions/checkout@v4

# AWS 인증 (IAM 사용자 Access Key, Secret Key 활용)
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

# Gradle 권한 설정
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
Expand All @@ -36,6 +26,22 @@ jobs:
java-version: 21
distribution: 'temurin'

# application.yml 운영 환경 용 생성
- name: Make application.yml
run: |
mkdir -p ./src/main/resources
chmod -R 777 ./src/main/resources
cd ./src/main/resources

touch ./application.yml
touch ./application-prod.yml
touch ./application-prod-secret.yml

echo "${{ secrets.PROD_COMMON }}" | base64 --decode > ./application.yml
echo "${{ secrets.PROD }}" | base64 --decode > ./application-prod.yml
echo "${{ secrets.PROD_SECRET }}" | base64 --decode > ./application-prod-secret.yml


# Gradle cache 설정
- name: Cache Gradle packages
uses: actions/cache@v4
Expand All @@ -44,29 +50,89 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle

# Gradle build (우선 Test 제외)
- name: Build with Gradle
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
- name: MySQL 컨테이너 실행
run: |
docker run --name log4u-mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=log4u \
-e MYSQL_USER=dev \
-e MYSQL_PASSWORD=devcos4-team08 \
-d \
-p 3307:3306 \
mysql:8.0.33

- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
DB_URL: jdbc:mysql://localhost:3307/log4u
DB_USERNAME: dev
DB_PASSWORD: devcos4-team08

# 테스트용으로 dev 프로필 사용(시크릿 제외하고 prod 와 동일)
run: |
chmod +x ./gradlew
./gradlew build jacocoTestReport -Pprofile=dev

- name: Docker MySQL 종료 및 제거
run: |
docker stop log4u-mysql
docker rm log4u-mysql

# AWS 인증 (IAM 사용자 Access Key, Secret Key 활용)
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
arguments: clean build -x test
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Secret 파일 수동 생성
run: |
mkdir -p ./src/main/resources
echo "${{ secrets.PROD_SECRET }}" | base64 --decode > ./src/main/resources/application-prod-secret.yml

mkdir -p ./deploy-package/src/main/resources
rsync -av --exclude='deploy-package' ./ ./deploy-package
cp ./src/main/resources/application-prod-secret.yml ./deploy-package/src/main/resources/application-prod-secret.yml

- name: 빌드 결과 수동 생성
run: |
mkdir -p ./deploy-package/build/libs
cp build/libs/Log4U-0.0.1-SNAPSHOT.jar ./deploy-package/build/libs/

# 빌드 결과물을 S3 버킷에 업로드
- name: Upload to AWS S3
run: |
aws deploy push \
--application-name ${{ secrets.CODE_DEPLOY_APP_NAME }} \
--ignore-hidden-files \
--s3-location s3://$S3_BUCKET_NAME/$GITHUB_SHA.zip \
--source .
--s3-location s3://${{ secrets.S3_BUCKET_NAME }}/prod/${{ github.sha }}.zip \
--source ./deploy-package

# S3 버킷에 있는 파일을 대상으로 CodeDeploy 실행
- name: Deploy to AWS EC2 from S3
- name: Deploy to AWS EC2 from S3g
run: |
aws deploy create-deployment \
--application-name ${{ secrets.CODE_DEPLOY_APP_NAME }} \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--deployment-group-name ${{ secrets.CODE_DEPLOY_DEPLOYMENT_GROUP_NAME }} \
--s3-location bucket=$S3_BUCKET_NAME,key=$GITHUB_SHA.zip,bundleType=zip


--s3-location bucket=${{ secrets.S3_BUCKET_NAME }},key=prod/${{ github.sha }}.zip,bundleType=zip

# 향후 빌드 파일 개선용 주석
# - name: 필요한 파일 수동 생성
# run: |
# mkdir -p ./deploy-package/src/main/resources
#
# # appspec.yml 복사
# cp ./appspec.yml ./deploy-package/
#
# # scripts 디렉토리 및 내부 .sh 파일 복사
# cp -r ./scripts/*.sh ./deploy-package/
#
# # yml 복사
# cp ./src/main/resources/application*.yml ./deploy-package/
#
# # jar 복사
# cp ./build/libs/Log4U-0.0.1-SNAPSHOT.jar ./deploy-package/

5 changes: 4 additions & 1 deletion .github/workflows/code-review-claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ name: Code Review from Claude

on:
pull_request:
types: [opened, synchronize]
# dev에 pr 할때만 리뷰
branches:
- develop
types: [ opened, synchronize ]

permissions:
contents: read
Expand Down
53 changes: 0 additions & 53 deletions .github/workflows/cr.yml

This file was deleted.

72 changes: 72 additions & 0 deletions .github/workflows/dev-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: log4u-dev-build
on:
pull_request:
branches:
- develop # develop pr
types: [ opened, synchronize, reopened ]
workflow_dispatch:
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'zulu' # Alternative distribution options are available

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle

- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar


- name: MySQL 컨테이너 실행
run: |
docker run --name log4u-mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=log4u \
-e MYSQL_USER=dev \
-e MYSQL_PASSWORD=devcos4-team08 \
-d \
-p 3307:3306 \
mysql:8.0.33

- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
DB_URL: jdbc:mysql://localhost:3307/log4u
DB_USERNAME: dev
DB_PASSWORD: devcos4-team08

# dev 프로필 사용
run: |
chmod +x ./gradlew
# 소나클라우드 임시 비활성화 ./gradlew build jacocoTestReport sonar --info -Pprofile=dev -Dsonar.branch.name=${{ github.ref_name }}
./gradlew build jacocoTestReport -Pprofile=dev

- name: Docker MySQL 종료 및 제거
run: |
docker stop log4u-mysql
docker rm log4u-mysql

- name: Upload Test Report
uses: actions/upload-artifact@v4
with:
name: problems-report
path: build/reports/problems/problems-report.html
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ out/

### VS Code ###
.vscode/
/src/main/resources/application-secret.yml
/src/main/resources/application-prod-secret.yml
/src/main/resources/application-dev-secret.yml
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## 개발 환경 설정

[AWS API SERVER](http://ec2-13-209-127-186.ap-northeast-2.compute.amazonaws.com)
---

* 루트 디렉토리(WEB3_4_Log4U_BE)에서 다음 명령 실행
* 개발용 MYSQL 빌드

```
# 이미지 빌드
cd docker
docker build -t log4u-mysql .

# 최초 실행 1(볼륨 존재)
docker run -d --name log4u-mysql -p 3307:3306 -v {file}:/var/lib/mysql log4u-mysql

# 최초 실행 2(볼륨 없이)
docker run -d --name log4u-mysql -p 3307:3306 log4u-mysql

# 이미 존재할 경우
docker start log4u-mysql

```
9 changes: 2 additions & 7 deletions appspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ os: linux

files:
- source: /
destination: /home/ubuntu/build
destination: /home/ubuntu/app
overwrite: yes

permissions:
Expand All @@ -13,16 +13,11 @@ permissions:
group: ubuntu

hooks:
AfterInstall:
ApplicationStop:
- location: scripts/stop.sh
timeout: 2000
runas: ubuntu

AfterInstall:
- location: scripts/docker-start.sh
timeout: 2000
runas: ubuntu

ApplicationStart:
- location: scripts/deploy.sh
timeout: 2000
Expand Down
Loading
Loading