diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..79fbaa5 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,60 @@ +on: + push: + branches: + - main + - deploy_gha +name: Deploy +jobs: + test: + name: Deploy on merge to main + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.3.2 + - name: Cache node modules + uses: actions/cache@v1 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - uses: actions/setup-node@v2 + with: + node-version: '20' + + - run: npm install + + - run: npm run build + + - run: sudo apt-get install tree + - run: tree build + + - name: Upload site files + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + source: "build" + target: /var/www/qrsync/tmp + overwrite: true + + - name: Move site files from tmp folder + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + script: cp -a /var/www/qrsync/tmp/build/. /var/www/qrsync + + - name: Remove tmp folder + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + script: rm -rf /var/www/qrsync/tmp +