Skip to content

Merge pull request #64 from chaechae128/depoly-dev #63

Merge pull request #64 from chaechae128/depoly-dev

Merge pull request #64 from chaechae128/depoly-dev #63

Workflow file for this run

name: rushWash 학과 서버 배포 파이프라인
on:
push:
branches: [ "main", "deploy-dev" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: JDK 17 설치
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: fronted 디렉토리 안 파일 지우기
run: |
rm -rf back/rushWash/src/main/frontend/* \
back/rushWash/src/main/frontend/.[!.]* \
back/rushWash/src/main/frontend/..?* || true
- name: frontend 로 front 파일 복사
run: |
mkdir -p back/rushWash/src/main/frontend
cp -r front/fe-rw/* back/rushWash/src/main/frontend/
# - name: frontend 로 front 파일 복사 (변경된 파일만)
# run: |
# rsync -a --delete front/fe-rw/ back/rushWash/src/main/frontend/
#
# - name: Grant permission to Gradle
# run: chmod +x back/rushWash/gradlew
# working-directory: .
# env:
# CI: false
- name: Grant permission to Gradle
run: chmod +x back/rushWash/gradlew
working-directory: .
env:
CI: false
- name: application.yml 파일 설정
run: |
mkdir -p back/rushWash/src/main/resources
printf "%s" "${{ secrets.APPLICATION_YML }}" > back/rushWash/src/main/resources/application.yml
- name: Build jar
run: ./gradlew build -x test
working-directory: back/rushWash
- name: Setup SSH agent
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
# - name: 기존 ai 폴더 삭제
# run: ssh -o StrictHostKeyChecking=no -p 22 [email protected] "rm -rf /home/t25119/v109.src/ai"
- name: 배포 back 디렉토리 만들기
run: ssh -o StrictHostKeyChecking=no -p 22 [email protected] "mkdir -p /home/t25119/v109.src/back"
- name: jar 학과 서버로 복사
run: scp -o StrictHostKeyChecking=no -P 22 back/rushWash/build/libs/rushWash-0.0.1-SNAPSHOT.jar [email protected]:/home/t25119/v109.src/back
- name: ai 폴더 동기화 (변경된 파일만)
run: |
rsync -avz --delete \
-e "ssh -o StrictHostKeyChecking=no -p 22" \
ai/ [email protected]:/home/t25119/v109.src/ai/
# - name: ai 폴더 복사
# run: scp -o StrictHostKeyChecking=no -r -P 22 ai [email protected]:/home/t25119/v109.src/
- name: 서버 실행
run: |
ssh -o StrictHostKeyChecking=no -p 22 [email protected] "
if [ -f /home/t25119/v109.src/app.pid ]; then
kill \$(cat /home/t25119/v109.src/app.pid) || true
fi
# 🔹 test.py 실행 (서버 실행 전에)
cd /home/t25119/v109.src/ai && python3 test.py
# 🔹 백엔드 실행
nohup java -jar /home/t25119/v109.src/back/rushWash-0.0.1-SNAPSHOT.jar > /home/t25119/v109.src/app.log 2>&1 &
echo \$! > /home/t25119/v109.src/app.pid
"