fix : cicd setting #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |