Skip to content

Commit edef3de

Browse files
committed
테스트 삭제22
1 parent ce06084 commit edef3de

1 file changed

Lines changed: 11 additions & 58 deletions

File tree

.github/workflows/ci-cd.yml

Lines changed: 11 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,48 @@
1-
# 워크플로우의 이름
21
name: Spring Boot CI/CD with AWS
32

4-
# 워크플로우가 실행될 조건 정의
53
on:
64
push:
75
branches: [ develop ]
86
pull_request:
97
types: [ opened, edited ]
108
branches: [ develop ]
119

12-
# PR 생성, 코드 수정, AWS OIDC 토큰 요청을 위한 권한 설정
1310
permissions:
1411
id-token: write
1512
contents: write
1613
pull-requests: write
1714
checks: write
1815

1916
jobs:
20-
# 코드 포맷팅, 빌드, 테스트를 처리하는 Job
2117
build:
2218
runs-on: ubuntu-latest
23-
outputs:
24-
build-success: ${{ steps.build-status.outputs.success }}
2519

2620
steps:
27-
# 1. 소스 코드 체크아웃
2821
- name: Checkout Source Code
2922
uses: actions/checkout@v4
3023

31-
# 2. JDK 17 설치
3224
- name: Set up JDK 17
3325
uses: actions/setup-java@v4
3426
with:
3527
java-version: '17'
3628
distribution: 'corretto'
3729

38-
# === [추가된 부분] PR 템플릿 검사기 ===
30+
# PR 템플릿 검사
3931
- name: Check PR Template
4032
if: github.event_name == 'pull_request' && github.event.pull_request.body == ''
4133
uses: actions/github-script@v7
4234
with:
4335
script: |
4436
const fs = require('fs');
45-
# 템플릿 파일이 있는 경로를 정확히 지정해야 합니다.
46-
# 예: .github/pr_templates/for_develop.md
4737
const template = fs.readFileSync('.github/pr_templates/for_develop.md', 'utf8');
4838
github.rest.issues.createComment({
4939
owner: context.repo.owner,
5040
repo: context.repo.repo,
5141
issue_number: context.issue.number,
5242
body: `🚨 **PR 본문이 비어있습니다!**\n\n아래 템플릿을 복사하여 PR 내용을 작성해주세요.\n\n---\n\n${template}`
5343
});
54-
core.setFailed('PR 본문을 템플릿에 맞게 작성해주세요.');
55-
# =======================================
44+
core.setFailed('PR 본문을 템플릿에 맞게 작성해주세요.')
5645
57-
# 3. Gradle 캐시 설정
5846
- name: Cache Gradle packages
5947
uses: actions/cache@v3
6048
with:
@@ -65,11 +53,9 @@ jobs:
6553
restore-keys: |
6654
${{ runner.os }}-gradle-
6755
68-
# 4. Gradle 실행 권한 부여
6956
- name: Grant execute permission for gradlew
7057
run: chmod +x ./gradlew
7158

72-
# 5. 코드 포맷팅 검사 또는 적용
7359
- name: Check code formatting (PR)
7460
if: github.event_name == 'pull_request'
7561
run: ./gradlew spotlessCheck
@@ -78,7 +64,6 @@ jobs:
7864
if: github.event_name == 'push'
7965
run: ./gradlew spotlessApply
8066

81-
# 6. 포맷팅 변경사항으로 PR 생성 (전략 2)
8267
- name: Create Pull Request with formatting changes
8368
if: github.event_name == 'push'
8469
id: create_pr
@@ -96,9 +81,8 @@ jobs:
9681
delete-branch: true
9782
labels: bot, chore
9883

99-
# 7. Gradle로 빌드 및 단위 테스트 실행
10084
- name: Build with Gradle
101-
if: steps.create_pr.outputs.pull-request-number == ''
85+
run: ./gradlew build --stacktrace --info
10286
env:
10387
R2_ENDPOINT: ${{ secrets.R2_ENDPOINT }}
10488
R2_BUCKET: ${{ secrets.R2_BUCKET }}
@@ -107,30 +91,11 @@ jobs:
10791
JWT_SECRET: ${{ secrets.JWT_SECRET }}
10892
FASTAPI_URL: ${{ secrets.FASTAPI_URL }}
10993
API_TOKEN: ${{ secrets.API_TOKEN }}
110-
run: ./gradlew build --stacktrace --info
111-
112-
# 8. 테스트 결과 업로드
113-
- name: Publish Test Results
114-
if: (success() || failure()) && steps.create_pr.outputs.pull-request-number == ''
115-
uses: dorny/test-reporter@v1
116-
with:
117-
name: Gradle Tests
118-
path: build/test-results/test/*.xml
119-
reporter: java-junit
120-
121-
# 9. 빌드 성공 상태 설정
122-
- name: Set build success status
123-
id: build-status
124-
if: success() && steps.create_pr.outputs.pull-request-number == ''
125-
run: echo "success=true" >> $GITHUB_OUTPUT
12694

127-
128-
129-
# 이하 배포 관련 Job들은 'build' Job의 최종 성공 여부에 따라 실행됩니다.
13095
check-ec2:
13196
runs-on: ubuntu-latest
13297
needs: build
133-
if: github.event_name == 'push' && needs.build.outputs.build-success == 'true'
98+
if: github.event_name == 'push'
13499
outputs:
135100
ec2-available: ${{ steps.check-ec2-status.outputs.available }}
136101
steps:
@@ -146,13 +111,10 @@ jobs:
146111
fi
147112
continue-on-error: true
148113

149-
150-
151-
# Docker 이미지 빌드 및 ECR 푸시
152114
build-and-push-image:
153115
runs-on: ubuntu-latest
154116
needs: [build, check-ec2]
155-
if: github.event_name == 'push' && needs.build.outputs.build-success == 'true' && needs.check-ec2.outputs.ec2-available == 'true'
117+
if: github.event_name == 'push' && needs.check-ec2.outputs.ec2-available == 'true'
156118
outputs:
157119
image-pushed: ${{ steps.push-status.outputs.success }}
158120
steps:
@@ -181,8 +143,6 @@ jobs:
181143
if: success()
182144
run: echo "success=true" >> $GITHUB_OUTPUT
183145

184-
185-
# EC2 배포 작업
186146
deploy:
187147
runs-on: ubuntu-latest
188148
needs: [build, check-ec2, build-and-push-image]
@@ -200,7 +160,6 @@ jobs:
200160
id: login-ecr
201161
uses: aws-actions/amazon-ecr-login@v2
202162

203-
# === 필요한 파일들을 EC2로 복사 (scp-action 사용) ===
204163
- name: Create Firebase Service Account Key File
205164
env:
206165
FIREBASE_KEY_JSON: ${{ secrets.FIREBASE_KEY_JSON }}
@@ -225,7 +184,6 @@ jobs:
225184
source: "docker-compose.yml,.env,serviceAccountKey.json"
226185
target: "/home/${{ secrets.EC2_USER }}/app"
227186

228-
# === EC2 배포 (ssh-action 사용) ===
229187
- name: Deploy to EC2 instance
230188
uses: appleboy/ssh-action@master
231189
with:
@@ -234,16 +192,11 @@ jobs:
234192
key: ${{ secrets.EC2_SSH_KEY }}
235193
script: |
236194
cd /home/${{ secrets.EC2_USER }}/app
237-
# AWS ECR 로그인
238195
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ steps.login-ecr.outputs.registry }}
239-
240-
# docker-compose로 애플리케이션 실행
241196
export ECR_REGISTRY=${{ steps.login-ecr.outputs.registry }}
242197
docker-compose pull
243198
docker-compose up -d --remove-orphans
244-
245199
246-
# 워크플로우 실행 결과 요약
247200
summary:
248201
runs-on: ubuntu-latest
249202
needs: [build, check-ec2, build-and-push-image, deploy]
@@ -254,12 +207,12 @@ jobs:
254207
echo "## 워크플로우 실행 결과" >> $GITHUB_STEP_SUMMARY
255208
echo "| 단계 | 상태 |" >> $GITHUB_STEP_SUMMARY
256209
echo "|------|------|" >> $GITHUB_STEP_SUMMARY
257-
echo "| 빌드 및 테스트 | ${{ needs.build.result == 'success' && '✅ 성공' || '❌ 실패/건너뜀' }} |" >> $GITHUB_STEP_SUMMARY
210+
echo "| 빌드 및 테스트 | ${{ needs.build.result == 'success' && '✅ 성공' || '❌ 실패/건너뜀' }} |"
258211
259212
if [[ "${{ github.event_name }}" == "push" ]]; then
260-
echo "| EC2 상태 확인 | ${{ needs.check-ec2.result == 'success' && '✅ 성공' || (needs.check-ec2.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |" >> $GITHUB_STEP_SUMMARY
261-
echo "| Docker 이미지 빌드/푸시 | ${{ needs.build-and-push-image.result == 'success' && '✅ 성공' || (needs.build-and-push-image.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |" >> $GITHUB_STEP_SUMMARY
262-
echo "| EC2 배포 | ${{ needs.deploy.result == 'success' && '✅ 성공' || (needs.deploy.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |" >> $GITHUB_STEP_SUMMARY
213+
echo "| EC2 상태 확인 | ${{ needs.check-ec2.result == 'success' && '✅ 성공' || (needs.check-ec2.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |"
214+
echo "| Docker 이미지 빌드/푸시 | ${{ needs.build-and-push-image.result == 'success' && '✅ 성공' || (needs.build-and-push-image.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |"
215+
echo "| EC2 배포 | ${{ needs.deploy.result == 'success' && '✅ 성공' || (needs.deploy.result == 'skipped' && '⏭️ 건너뜀' || '❌ 실패') }} |"
263216
else
264-
echo "| 배포 관련 작업 | ⏭️ 건너뜀 (PR 이벤트) |" >> $GITHUB_STEP_SUMMARY
265-
fi
217+
echo "| 배포 관련 작업 | ⏭️ 건너뜀 (PR 이벤트) |"
218+
fi

0 commit comments

Comments
 (0)