Skip to content

Contributing guide 업로드 #53

Contributing guide 업로드

Contributing guide 업로드 #53

Workflow file for this run

name: FortuneMon dev CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# 코드 체크아웃
- name: Checkout repository
uses: actions/checkout@v2
# JDK 설치
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
# application.yml 만들기
- name: Ensure resource directory exists
run: mkdir -p src/main/resources
- name: generate application.yml file
env:
APP_YML: ${{ secrets.PROPERTIES }}
run: |
cd ./src/main/resources
echo "$APP_YML" > application.yml
# Gradle Build
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew build
# DockerHub 로그인
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
# DockerHub Push
- name: Build and Push Docker image
run: |
docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/fortunemon-app-dev .
docker push ${{ secrets.DOCKER_HUB_USERNAME }}/fortunemon-app-dev
deploy:
runs-on: ubuntu-latest
needs: build
steps:
# 🔍 1. 시크릿 키 앞부분 출력 (마스킹된 상태 확인)
- name: debugging key
run: |
echo "${{ secrets.EC2_SSH_KEY }}" | head -n 5
# ✅ 2. 실제 SSH로 접속 시도해보기 (성공 여부 확인)
- name: Raw SSH 연결 테스트
run: |
echo "${{ secrets.EC2_SSH_KEY }}" > key.pem
chmod 400 key.pem
ssh -v -o StrictHostKeyChecking=no -i key.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "echo ✅ SSH 연결 성공"
# 🚀 3. (성공 시에만) appleboy로 본격 배포
- name: SSH to EC2 and deploy
uses: appleboy/ssh-action@v0.1.4
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_SSH_KEY }}
debug: true
script: |
cd fortunemon
sudo docker-compose stop
sudo docker-compose rm -f
sudo docker rmi mino999/fortunemon-app-dev:latest
sudo docker-compose up -d