Skip to content

Commit ffc5b40

Browse files
authored
Merge pull request #1 from NET-ZERO-FitFit/main
develop <- main
2 parents eb92918 + b258f5d commit ffc5b40

78 files changed

Lines changed: 2043 additions & 117 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/workflows/deploy.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# 워크플로우의 전체 이름
2+
name: 픽픽 CI/CD 배포
3+
4+
# 워크플로우가 언제 실행될지 정의하는 트리거
5+
on:
6+
# main 브랜치에 push 이벤트가 발생했을 때 실행
7+
push:
8+
branches: [ "main" ]
9+
10+
# 실행될 작업(Job)들을 정의
11+
jobs:
12+
# '빌드와 배포' 작업
13+
build-and-deploy:
14+
# 이 작업이 실행될 가상 머신의 종류 (최신 우분투)
15+
runs-on: ubuntu-latest
16+
17+
# 작업 내에서 순서대로 실행될 단계(Step)들
18+
steps:
19+
# 1. 소스 코드 체크아웃
20+
- name: 소스 코드 체크아웃
21+
uses: actions/checkout@v4
22+
23+
# 2. JDK 17 설치
24+
- name: JDK 17 설치
25+
uses: actions/setup-java@v4
26+
with:
27+
java-version: '17'
28+
distribution: 'temurin'
29+
30+
# 3. Gradle 캐시 설정
31+
# 매번 Gradle 의존성 받을 필요 없어 빌드 속도 빨라짐
32+
- name: Gradle 캐시 설정
33+
uses: actions/cache@v4
34+
with:
35+
path: ~/.gradle/caches
36+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
37+
restore-keys: |
38+
${{ runner.os }}-gradle-
39+
40+
# 4. gradlew 실행 권한 부여
41+
- name: gradlew 실행 권한 부여
42+
run: chmod +x ./gradlew
43+
44+
# 5. Gradle로 빌드하기
45+
- name: Gradle로 빌드하기
46+
run: ./gradlew bootJar
47+
48+
# 6. EC2에 배포 스크립트와 JAR 파일 업로드
49+
- name: EC2에 파일 업로드
50+
uses: appleboy/scp-action@master
51+
with:
52+
host: 3.39.139.208
53+
username: ubuntu
54+
key: ${{ secrets.EC2_SSH_KEY }}
55+
source: "build/libs/*.jar,deploy.sh" # .jar 파일과 deploy.sh 파일을 함께 업로드
56+
target: "/home/ubuntu/app"
57+
58+
# 7. EC2에서 배포 스크립트 실행
59+
- name: EC2에서 배포 스크립트 실행
60+
uses: appleboy/ssh-action@master
61+
with:
62+
host: 3.39.139.208 # EC2 퍼블릿 IP
63+
username: ubuntu
64+
key: ${{ secrets.EC2_SSH_KEY }}
65+
envs: |
66+
SPRING_PROFILES_ACTIVE=prod
67+
SPRING_DATASOURCE_PASSWORD=${{ secrets.SPRING_DATASOURCE_PASSWORD }}
68+
JWT_SECRET=${{ secrets.JWT_SECRET }}
69+
KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }}
70+
script: |
71+
cd /home/ubuntu/app
72+
chmod +x deploy.sh # 스크립트 실행 권한 부여
73+
./deploy.sh # 스크립트 실행

.gitignore

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
HELP.md
2+
.gradle
3+
.idea
4+
build/
5+
!gradle/wrapper/gradle-wrapper.jar
6+
!**/src/main/**/build/
7+
!**/src/test/**/build/
8+
src/main/generated/
9+
10+
### STS ###
11+
.apt_generated
12+
.classpath
13+
.factorypath
14+
.project
15+
.settings
16+
.springBeans
17+
.sts4-cache
18+
bin/
19+
!**/src/main/**/bin/
20+
!**/src/test/**/bin/
21+
22+
### IntelliJ IDEA ###
23+
.idea
24+
*.iws
25+
*.iml
26+
*.ipr
27+
out/
28+
!**/src/main/**/out/
29+
!**/src/test/**/out/
30+
31+
### NetBeans ###
32+
/nbproject/private/
33+
/nbbuild/
34+
/dist/
35+
/nbdist/
36+
/.nb-gradle/
37+
38+
### VS Code ###
39+
.vscode/
40+
.DS_Store
-17 Bytes
Binary file not shown.
-22.9 KB
Binary file not shown.
-29.5 KB
Binary file not shown.
-35.3 KB
Binary file not shown.
-17 Bytes
Binary file not shown.
-1 Bytes
Binary file not shown.
-18.5 KB
Binary file not shown.
-17 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)