fix: Update Next.js and related dependencies to latest versions (#89) #62
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: Frontend Continuous Delivery | |
| on: | |
| push: | |
| paths: | |
| - "frontend/**" | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| permissions: write-all | |
| env: | |
| ZIP_NAME: "frontend.tar" | |
| APP_TARGET_PATH: "frontend/" | |
| APP_FOLDER_PATH: "/home/app/frontend" | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| #runs-on: [self-hosted, Linux, ARM64] | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build AMD64 Docker image | |
| run: docker build -f Dockerfile.prod -t devlog-frontend:latest . | |
| - name: Save Docker image as tar file | |
| run: docker save -o frontend.tar devlog-frontend:latest | |
| # (Actions에서 생성한 파일은 권한을 수정해야 scp로 보낼 때 오류가 안생김) | |
| - name: Modify permissions | |
| run: chmod o+rwx ${{ env.ZIP_NAME }} | |
| - name: Send docker image file | |
| uses: appleboy/scp-action@master | |
| with: | |
| proxy_host: ${{ secrets.PROXY_HOST }} | |
| proxy_username: ${{ secrets.PROXY_HOST_USERNAME }} | |
| proxy_key: ${{ secrets.PROXY_HOST_KEY }} | |
| host: ${{ secrets.REMOTE_HOST }} | |
| username: ${{ secrets.REMOTE_HOST_USERNAME }} | |
| key: ${{ secrets.REMOTE_HOST_KEY }} | |
| source: "${{ env.APP_TARGET_PATH }}${{ env.ZIP_NAME }}" | |
| target: ${{ env.APP_FOLDER_PATH }} | |
| strip_components: 1 | |
| - name: Start frontend server | |
| uses: appleboy/ssh-action@master | |
| with: | |
| proxy_host: ${{ secrets.PROXY_HOST }} | |
| proxy_username: ${{ secrets.PROXY_HOST_USERNAME }} | |
| proxy_key: ${{ secrets.PROXY_HOST_KEY }} | |
| host: ${{ secrets.REMOTE_HOST }} | |
| username: ${{ secrets.REMOTE_HOST_USERNAME }} | |
| key: ${{ secrets.REMOTE_HOST_KEY }} | |
| script: | | |
| cd ${{ env.APP_FOLDER_PATH }} | |
| if docker ps | grep -q "frontend-service"; then | |
| docker stop frontend-service | |
| fi | |
| docker load -i ${{ env.ZIP_NAME}} | |
| docker run --rm -d -p 3000:3000 --name frontend-service devlog-frontend:latest |