name: Deploy on: push: branches: - main jobs: deploy: 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: "14" - name: Install dependencies run: npm install - name: Build project run: npm run build - name: Deploy to server env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_HOST: ${{ secrets.SSH_HOST }} SSH_USER: ${{ secrets.SSH_USER }} run: | echo "$SSH_PRIVATE_KEY" > private_key.pem chmod 600 private_key.pem scp -i private_key.pem -r ./build/* $SSH_USER@$SSH_HOST:/path/to/deploy/ rm private_key.pem