Skip to content

Commit 670a994

Browse files
authored
Merge pull request #330 from team5re5/develop
fork repo main에 추가
2 parents ff1333c + 2f44b52 commit 670a994

375 files changed

Lines changed: 10371 additions & 8688 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/pull_request_template.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# 🚀 Pull Request
2+
3+
**[작업 내용을 간략히 적어주세요]**
4+
5+
## #️⃣ 연관된 이슈
6+
7+
#이슈번호
8+
9+
## 📋 작업 내용
10+
11+
수정한 내용이나 추가한 기능에 대해 자세히 설명해 주세요.

.github/workflows/buildTest.yml

Lines changed: 37 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: CI & Deploy Pipeline
1+
name: PR CI and develop push CI
22

33
# 1. 이벤트 설정
44
on:
@@ -19,7 +19,7 @@ on:
1919

2020
# 2. 빌드 및 테스트 잡
2121
jobs:
22-
build-and-test:
22+
CI-start:
2323
runs-on: ubuntu-latest
2424
env:
2525
EMAIL_USERNAME: ${{ secrets.EMAIL_USERNAME }}
@@ -44,6 +44,11 @@ jobs:
4444

4545

4646
steps:
47+
# Node.js 설치
48+
- name: Install Node.js
49+
uses: actions/setup-node@v3
50+
with:
51+
node-version: '18'
4752
# 코드 체크아웃
4853
- name: Check out code
4954
uses: actions/checkout@v4
@@ -55,8 +60,15 @@ jobs:
5560
java-version: '17'
5661
distribution: 'temurin'
5762

63+
# Gradle Wrapper 권한 부여
64+
- name: Grant execute permission for gradlew
65+
run: chmod +x gradlew
5866

59-
# Gradle 의존성 캐시 설정
67+
# gradlew 파일 실행권한 설정
68+
- name: Grant execute permission for gradlew
69+
run: chmod +x ./gradlew
70+
shell: bash
71+
# Gradle 의존성 캐시 설정
6072
- name: Cache Gradle dependencies
6173
uses: actions/cache@v4
6274
with:
@@ -65,26 +77,35 @@ jobs:
6577
restore-keys: |
6678
${{ runner.os }}-gradle-
6779
68-
# Gradle Wrapper 권한 부여
69-
- name: Grant execute permission for gradlew
70-
run: chmod +x gradlew
71-
72-
# gradlew 파일 실행권한 설정
73-
- name: Grant execute permission for gradlew
74-
run: chmod +x ./gradlew
75-
shell: bash
80+
# Json 파일 업로드
7681
- name: Create JSON Config File
7782
env:
78-
TTS_JSON_CONTENT: ${{ secrets.TTS_JSON }}
83+
TTS_JSON_CONTENT: ${{ secrets.TTS_JSON_CONTENT }}
7984
run: |
80-
echo "${TTS_JSON_CONTENT}" > src/main/resources/tts.json
85+
echo "${TTS_JSON_CONTENT}" | base64 -d > src/main/resources/tts.json
8186
echo $TTS_JSON_CONTENT
82-
8387
84-
# 빌드 및 테스트 실행
88+
- name: Set Cache Directory Permissions
89+
run: |
90+
if [ -d "~/.sonar/cache" ]; then chmod -R 777 ~/.sonar/cache; fi
91+
if [ -d "~/.gradle/caches" ]; then chmod -R 777 ~/.gradle/caches; fi
92+
93+
# build and Test
8594
- name: Build and Test
8695
run: ./gradlew build
8796

97+
# 소나큐브 실행
98+
- name: Sonarqube Scan
99+
run: ./gradlew sonar -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} -Dsonar.token=${{ secrets.SONAR_TOKEN }}
100+
101+
# 3-1. 소나큐브 패키지 캐싱 설정
102+
- name: Cache SonarQube packages
103+
uses: actions/cache@v4
104+
with:
105+
path: ~/.sonar/cache
106+
key: ${{ runner.os }}-sonar
107+
restore-keys: ${{ runner.os }}-sonar
108+
88109
# Gradle Test를 실행한다
89110
- name: Test with Gradle
90111
run: ./gradlew --info test
@@ -97,36 +118,4 @@ jobs:
97118
junit_files: '**/build/test-results/test/TEST-*.xml'
98119

99120
- name: Lint Checks
100-
run: ./gradlew check
101-
# # 3. develop에서 main으로 자동 배포 작업
102-
# deploy-to-main:
103-
# # develop 브랜치에 push될 때만 실행
104-
# if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
105-
106-
# runs-on: ubuntu-latest
107-
# needs: build-and-test # 빌드와 테스트가 완료된 후에 실행
108-
109-
# steps:
110-
# # 코드 체크아웃
111-
# - name: Check out code
112-
# uses: actions/checkout@v3
113-
114-
# - name: Configure git
115-
# run: |
116-
# git config --global user.name "${{ github.actor }}"
117-
# git config --global user.email "${{ github.actor }}@users.noreply.github.com"
118-
119-
# # main 브랜치로 병합
120-
# - name: Merge develop to main
121-
# run: |
122-
# git remote update
123-
# git checkout main
124-
# git config pull.rebase true
125-
# git pull origin main # 최신 상태로 동기화
126-
# git pull origin develop --allow-unrelated-histories
127-
# git rebase --skip
128-
129-
# # 병합 결과를 main 브랜치에 푸시
130-
# - name: Push to main
131-
# run: |
132-
# git push origin main
121+
run: ./gradlew check

.github/workflows/cdscript.yml

Lines changed: 0 additions & 88 deletions
This file was deleted.

.github/workflows/dockerdeploy.yml

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: CD
1+
name: MAIN CI&CD
22

33
# 1. 이벤트 설정
44
on:
@@ -26,18 +26,32 @@ jobs:
2626
AWS_SQS_QUEUE_URL: ${{ secrets.AWS_SQS_QUEUE_URL }}
2727
AWS_SQS_VIRTUAL_QUEUE_NAME: ${{ secrets.AWS_SQS_VIRTUAL_QUEUE_NAME }}
2828

29-
steps: # 1. 코드 체크아웃
29+
steps:
30+
31+
- name: Install Node.js
32+
uses: actions/setup-node@v3
33+
with:
34+
node-version: '18'
35+
3036
- name: Check out code
3137
uses: actions/checkout@v4
3238

33-
# 2. JDK 17 설치
39+
# JDK 17 설치
3440
- name: Set up JDK 17
3541
uses: actions/setup-java@v4
3642
with:
3743
java-version: '17'
3844
distribution: 'temurin'
3945

40-
# 3. Gradle 의존성 캐시 설정
46+
# Gradle Wrapper 권한 부여
47+
- name: Grant execute permission for gradlew
48+
run: chmod +x gradlew
49+
50+
# gradlew 파일 실행권한 설정
51+
- name: Grant execute permission for gradlew
52+
run: chmod +x ./gradlew
53+
shell: bash
54+
# Gradle 의존성 캐시 설정
4155
- name: Cache Gradle dependencies
4256
uses: actions/cache@v4
4357
with:
@@ -46,32 +60,49 @@ jobs:
4660
restore-keys: |
4761
${{ runner.os }}-gradle-
4862
49-
# 4. Gradle Wrapper 권한 부여
50-
- name: Grant execute permission for gradlew
51-
run: chmod +x ./gradlew
52-
53-
# 5. JSON Config 파일 생성
63+
# Json 파일 업로드
5464
- name: Create JSON Config File
5565
env:
56-
TTS_JSON_CONTENT: ${{ secrets.TTS_JSON }}
66+
TTS_JSON_CONTENT: ${{ secrets.TTS_JSON_CONTENT }}
5767
run: |
58-
echo "${TTS_JSON_CONTENT}" > src/main/resources/tts.json
68+
echo "${TTS_JSON_CONTENT}" | base64 -d > src/main/resources/tts.json
69+
echo $TTS_JSON_CONTENT
5970
60-
# 6. 빌드 및 테스트 실행
71+
- name: Set Cache Directory Permissions
72+
run: |
73+
if [ -d "~/.sonar/cache" ]; then chmod -R 777 ~/.sonar/cache; fi
74+
if [ -d "~/.gradle/caches" ]; then chmod -R 777 ~/.gradle/caches; fi
75+
76+
#build and Test
6177
- name: Build and Test
62-
run: ./gradlew build -x test
78+
run: ./gradlew build
79+
80+
# 소나큐브 실행
81+
- name: Sonarqube Scan
82+
run: ./gradlew sonar -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} -Dsonar.token=${{ secrets.SONAR_TOKEN }}
6383

84+
# 소나큐브 패키지 캐싱 설정
85+
- name: Cache SonarQube packages
86+
uses: actions/cache@v4
87+
with:
88+
path: ~/.sonar/cache
89+
key: ${{ runner.os }}-sonar
90+
restore-keys: ${{ runner.os }}-sonar
91+
92+
# 도커 로그인
6493
- name: Docker Login
6594
uses: docker/login-action@v3
6695
with:
6796
username: ${{ secrets.DOCKER_USERNAME }}
6897
password: ${{ secrets.DOCKER_PASSWORD }}
69-
# push 까지만 하고 CD는 그냥 스크립트 실행해서 docker pull or run으로 파일을 받아서 실행할까? 무중단 배포는 그렇게 해야할듯?
98+
99+
# 도커 이미지 생성 및 푸쉬
70100
- name: Build and Push Docker Image
71101
run: |
72102
docker build -t ${{ secrets.DOCKER_ID }}/${{ secrets.DOCKER_IMAGE }}:1.0 .
73103
docker push ${{ secrets.DOCKER_ID }}/${{ secrets.DOCKER_IMAGE }}:1.0
74104
105+
# 서버 배포
75106
CD:
76107
needs: CI
77108
runs-on: ubuntu-latest
@@ -89,7 +120,7 @@ jobs:
89120
sudo docker pull ${{ secrets.DOCKER_ID }}/${{ secrets.DOCKER_IMAGE }}:1.0
90121
91122
# 스크립트 실행할 곳으로 이동
92-
cd /home/ubuntu/app
123+
cd ${{ secrets.SSH_PWD }}
93124
94125
echo "docker_deploy.sh를 실행합니다."
95126
chmod +x ./docker_deploy.sh

.github/workflows/schedule-pr.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Created by https://www.toptal.com/developers/gitignore/api/intellij,gradle,java,linux,git,macos,windows
22
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij,gradle,java,linux,git,macos,windows
33

4+
# github actions 시크릿변수 파일
5+
5re5.secrets
46

57
### dotenv ###
68
.env

0 commit comments

Comments
 (0)