Skip to content

fix : cicd setting

fix : cicd setting #5

Workflow file for this run

name: TOMO Dev CI-CD
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 1. 소스 체크아웃
- name: Checkout source
uses: actions/checkout@v4
# 2. Java 21 세팅
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
# 3. Gradle 실행 권한
- name: Grant execute permission for gradlew
run: chmod +x backend/gradlew
# 4. Spring Boot 빌드
- name: Build Spring Boot application
working-directory: backend
run: ./gradlew clean build -x test
# 5. 빌드된 JAR 서버로 전송 (임시 위치)
- name: Upload JAR to Oracle Cloud
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.OCI_HOST }}
username: ${{ secrets.OCI_USER }}
key: ${{ secrets.OCI_SSH_KEY }}
port: ${{ secrets.OCI_PORT }}
source: backend/build/libs/TOMO-0.0.1-SNAPSHOT.jar
target: /home/ubuntu/app/backend/build/libs
# 6. 기존 서비스 종료 → JAR 교체 → 서비스 재시작
- name: Restart TOMO service with new JAR
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.OCI_HOST }}
username: ${{ secrets.OCI_USER }}
key: ${{ secrets.OCI_SSH_KEY }}
port: ${{ secrets.OCI_PORT }}
script: |
echo "== Stop TOMO service =="
sudo systemctl stop tomo
echo "== Replace JAR =="
cp /home/ubuntu/app/backend/build/libs/TOMO-0.0.1-SNAPSHOT.jar /home/ubuntu/app/TOMO-0.0.1-SNAPSHOT.jar
echo "== Reload & Start TOMO service =="
sudo systemctl daemon-reload
sudo systemctl start tomo
echo "== TOMO service status =="
sudo systemctl status tomo --no-pager