Merge pull request #64 from chaechae128/depoly-dev #63
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: 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 | |
| " |