Skip to content
78 changes: 78 additions & 0 deletions .github/workflows/backend-ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Backend CI/CD Pipeline

on:
push:
paths:
- 'HalfFifty_BE/**'
pull_request:
paths:
- 'HalfFifty_BE/**'

jobs:
test:
name: Test and Build Backend
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Add execute permissions to Gradlew
run: chmod +x ./gradlew
working-directory: HalfFifty_BE

# Gradle ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ
- name: Build and Test
working-directory: HalfFifty_BE
env:
DB_DRIVER_CLASS_NAME: ${{ secrets.DB_DRIVER_CLASS_NAME }}
DB_URL: ${{ secrets.DB_URL }}
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: |
./gradlew clean build

deploy:
name: Deploy Backend
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Build Docker Image
working-directory: HalfFifty_BE
run: docker build -t half-fifty:latest .

- name: Deploy to EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.AWS_IP }}
username: ${{ secrets.AWS_USER }}
key: ${{ secrets.AWS_KEY }}
script: |
docker stop half-fifty || true
docker rm half-fifty || true
docker run -d -p 80:8080 --name half-fifty half-fifty:latest

- name: Verify Container Status
uses: appleboy/[email protected]
with:
host: ${{ secrets.AWS_IP }}
username: ${{ secrets.AWS_USER }}
key: ${{ secrets.AWS_KEY }}
script: docker ps | grep half-fifty
2 changes: 1 addition & 1 deletion HalfFifty_BE/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

# ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ฌ์šฉํ•  ํฌํŠธ
EXPOSE 8080
EXPOSE 8081
2 changes: 1 addition & 1 deletion HalfFifty_BE/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
context: . # Dockerfile์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ
dockerfile: Dockerfile
ports:
- "8080:8080" # ๋กœ์ปฌ 8080 ํฌํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ 8080 ํฌํŠธ๋กœ ๋งคํ•‘
- "8081:8080" # ๋กœ์ปฌ 8080 ํฌํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ 8080 ํฌํŠธ๋กœ ๋งคํ•‘
environment:
SPRING_PROFILES_ACTIVE: prod # Spring Boot์˜ ํ™œ์„ฑํ™”๋œ ํ”„๋กœํŒŒ์ผ ์„ค์ •
restart: always # ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™ ์žฌ์‹œ์ž‘doc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ public class HealthCheck {

@GetMapping("/")
public String health() {
return "server on";
return "server on!";
}
}
Loading