Skip to content

Update gradle.yml

Update gradle.yml #24

Workflow file for this run

name: Java CI with Gradle
on:
push:
branches: [ "develop" ] # develop λΈŒλžœμΉ˜μ— ν‘Έμ‹œλ  λ•Œ 배포
pull_request:
branches: [ "develop" ] # develop λΈŒλžœμΉ˜μ— λŒ€ν•œ PR에 λŒ€ν•΄μ„œλ„ μ‹€ν–‰
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
submodules: true # μ„œλΈŒλͺ¨λ“ˆ μ΄ˆκΈ°ν™”λŠ” 이곳에 μœ„μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
token: ${{ secrets.GIT_TOKEN }}
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Build with Gradle Wrapper
run: ./gradlew build
deploy:
if: github.ref == 'refs/heads/develop' # develop λΈŒλžœμΉ˜μ— ν‘Έμ‹œλ  λ•Œ 배포
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
submodules: true # μ„œλΈŒλͺ¨λ“ˆ μ΄ˆκΈ°ν™”λŠ” 이곳에 μœ„μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
token: ${{ secrets.GIT_TOKEN }}
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Deploy to EC2 using SSH
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ubuntu
key: ${{ secrets.EC2_SSH_KEY }} # SSH ν‚€
port: 22 # κΈ°λ³Έ ν¬νŠΈλŠ” 22μž…λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€μ˜ ν¬νŠΈκ°€ λ‹€λ₯΄λ©΄ λ³€κ²½ν•˜μ„Έμš”.
script: |
set -e # 슀크립트 μ‹€ν–‰ 쀑 였λ₯˜ λ°œμƒ μ‹œ μ¦‰μ‹œ μ’…λ£Œ
cd /home/ubuntu/CLAT-SERVER
echo "Running git pull..."
git pull origin develop
echo "Git pull completed."
echo "Killing any existing java processes..."
ps aux | grep 'java' | grep -v grep | awk '{print $2}' | xargs kill -9 || true # κΈ°μ‘΄ λͺ¨λ“  Java ν”„λ‘œμ„ΈμŠ€ μ’…λ£Œ
echo "Starting new Java process..."
nohup java -jar clat-0.0.1-SNAPSHOT.jar > /home/ubuntu/clat.log 2>&1 & # λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€ μ‹œμž‘
sleep 5 # μž μ‹œ λŒ€κΈ°ν•˜μ—¬ ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œμž‘λ˜λ„λ‘ 함
echo "Checking if the Java process is running..."
ps aux | grep 'java -jar clat-0.0.1-SNAPSHOT.jar' # μ‹€ν–‰ 쀑인 Java ν”„λ‘œμ„ΈμŠ€ 확인
echo "Deployment completed."
exit 0 # SSH μ„Έμ…˜ μ’…λ£Œ 방지