diff --git a/.gitea/workflows/workflow.yaml b/.gitea/workflows/workflow.yaml index 0b5ad28..6bf650d 100644 --- a/.gitea/workflows/workflow.yaml +++ b/.gitea/workflows/workflow.yaml @@ -51,3 +51,41 @@ jobs: with: name: gatsby-build path: public/ + + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: gatsby-build + path: public + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_PRIVATE_KEY }} + known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }} + + - name: Deploy to web server + env: + DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }} + DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} + DEPLOY_USER: ${{ secrets.DEPLOY_USER }} + run: | + rsync -avz -e "ssh -p 2266" \ + --exclude='mailadmin/' \ + --exclude='postfixadmin/' \ + --exclude='roundcube/' \ + public/ \ + $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH + + + - name: Verify deployment + env: + DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} + DEPLOY_USER: ${{ secrets.DEPLOY_USER }} + DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }} + run: | + ssh $DEPLOY_USER@$DEPLOY_HOST "test -d $DEPLOY_PATH && echo 'Deployment successful' || (echo 'Deployment failed' && exit 1)"