Skip to content

chore: deploy.yml 수정 #7

chore: deploy.yml 수정

chore: deploy.yml 수정 #7

Workflow file for this run

name: Deploy to EC2
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 1. 코드 체크아웃
- name: Checkout
uses: actions/checkout@v4
# 2. JDK 17 세팅
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
# 3. Gradle 실행 권한 부여
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
# 4. Gradle 빌드
- name: Build with Gradle
run: ./gradlew clean bootJar -x test
# 5. jar 파일 이름 고정
- name: Rename jar
run: mv build/libs/*.jar build/libs/app.jar
# 6. EC2로 jar 전송
- name: Upload jar to EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_KEY }}
source: "build/libs/app.jar"
target: "/home/ubuntu/app"
strip_components: 2
# 7. EC2에서 앱 재시작
- name: Restart app on EC2
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_KEY }}
envs: KEY_HACKERTON
script: |
cd /home/ubuntu/app
chmod +x run.sh
export KEY_hackerton="$KEY_HACKERTON"
./run.sh
env:
KEY_HACKERTON: ${{ secrets.KEY_HACKERTON }}