Skip to content

Commit 0dadac9

Browse files
committed
[CICD] deploy.yml 추가
1 parent eb92918 commit 0dadac9

5 files changed

Lines changed: 68 additions & 1 deletion

File tree

.github/workflows/deploy.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
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.96.123
53+
username: ec2-user
54+
key: ${{ secrets.EC2_SSH_KEY }}
55+
source: "build/libs/*.jar,deploy.sh" # .jar 파일과 deploy.sh 파일을 함께 업로드
56+
target: "/home/ec2-user/app"
57+
58+
# 7. EC2에서 배포 스크립트 실행
59+
- name: EC2에서 배포 스크립트 실행
60+
uses: appleboy/ssh-action@master
61+
with:
62+
host: 15.164.215.46 # EC2 퍼블릿 IP
63+
username: ec2-user
64+
key: ${{ secrets.EC2_SSH_KEY }}
65+
script: |
66+
cd /home/ec2-user/app
67+
chmod +x deploy.sh # 스크립트 실행 권한 부여
68+
./deploy.sh # 스크립트 실행

.gitignore

Whitespace-only changes.

src/main/java/fitfit/global/config/WebConfig.java

Whitespace-only changes.

src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/resources/application.yml

Whitespace-only changes.

0 commit comments

Comments
 (0)