diff --git a/.github/workflow/deploy.yml b/.github/workflow/deploy.yml deleted file mode 100644 index f111c32..0000000 --- a/.github/workflow/deploy.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: CI/CD Pipeline - -on: - pull_request: - branches: - - main - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Node.js - uses: actions/setup-node@v2 - with: - node-version: '16' - - - name: Install dependencies - run: npm install - - - name: Build project - run: npm run build - - - name: Prepare deployment package - run: | - mkdir -p build/deployment - cp -r dist/* build/deployment/ - - - name: Deploy to Home Server - uses: appleboy/scp-action@v0.0.1 - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - source: "build/deployment/*" - target: "/home/anhye0n/web/tutorial_sejong/frontend/dist" - - - name: Restart Nginx - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - script: | - sudo systemctl restart nginx diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..bc1477a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,41 @@ +name: Deploy React App to Home Server + +on: + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: '20' + + - name: Install dependencies + run: npm ci + + - name: Build project + run: npm run build + + - name: Prepare deployment package + run: | + mkdir -p deployment_package + cp -r dist/* deployment_package/ + - name: Install sshpass + run: sudo apt-get install -y sshpass + + - name: Deploy to Home Server + env: + SSHPASS: ${{ secrets.SSH_PASSWORD }} + run: | + sshpass -e scp -o StrictHostKeyChecking=no -r deployment_package/* ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/home/anhye0n/web/tutorial_sejong/frontend/ + sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << EOF + sudo -S <<< "${{ secrets.SSH_PASSWORD }}" systemctl restart nginx + EOF \ No newline at end of file