From 04904c32cb5b6b95b4d9b91f776276695f464739 Mon Sep 17 00:00:00 2001 From: nikomiko Date: Thu, 5 Feb 2026 22:05:33 -0500 Subject: [PATCH] tweak: scripts --- .github/workflows/ssh-deploy.yml | 9 +++------ .github/workflows/ssh-stage.yml | 23 +++++++++++++++++++++++ deploy.sh | 13 +++++++++++-- 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/ssh-stage.yml diff --git a/.github/workflows/ssh-deploy.yml b/.github/workflows/ssh-deploy.yml index d7eb96f..b644e75 100644 --- a/.github/workflows/ssh-deploy.yml +++ b/.github/workflows/ssh-deploy.yml @@ -1,9 +1,6 @@ -name: SSH Deploy Staged +name: SSH Deploy to production -on: - push: - branches: - - main +on: workflow_dispatch jobs: remote-update: @@ -20,4 +17,4 @@ jobs: - name: SSH and run deployment script run: | ssh -i ~/.ssh/id_ed25519 ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} \ - 'sh ./stage.sh' + 'sh "${{ secrets.SOURCE_PATH }}"/deploy.sh "${{ secrets.SOURCE_PATH }}" "${{ secrets.STATIC_PATH }}" "${{ secrets.BACKEND_PATH }}"' diff --git a/.github/workflows/ssh-stage.yml b/.github/workflows/ssh-stage.yml new file mode 100644 index 0000000..4013e97 --- /dev/null +++ b/.github/workflows/ssh-stage.yml @@ -0,0 +1,23 @@ +name: SSH Deploy to staging + +on: + push: + branches: + - main + +jobs: + remote-update: + runs-on: ubuntu-latest + + steps: + - name: Load SSH key + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts + + - name: SSH and run staging script + run: | + ssh -i ~/.ssh/id_ed25519 ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} \ + 'sh "${{ secrets.SOURCE_PATH }}"/stage.sh "${{ secrets.SOURCE_PATH }}"' diff --git a/deploy.sh b/deploy.sh index ea70fcd..3239aaf 100755 --- a/deploy.sh +++ b/deploy.sh @@ -11,6 +11,15 @@ STATIC_DIR=$2 BACKEND_DIR=$3 pwd +which pm2 || pnpm i pm2 -g || { echo "😓 PM2 missing and can't install - run 'pnpm i pm2 -g' code $?"; exit; } +cd $SOURCE_DIR || { echo "😓 can't cd - code $?"; exit; } +pnpm i || { echo "😓 can't pnpm i - $?"; exit; } +npx turbo build || { echo "😓 build failed - code $?"; exit; } -cp -r $SOURCE_DIR/apps/vdn-static/dist/* "$STATIC_DIR" || { echo "Can't copy static dist 😓 - code $?"; exit; } -cp -r $SOURCE_DIR/apps/vdb-backend/dist/* "$BACKEND_DIR" || { echo "Can't copy backend dist 😓 - code $?"; exit; } +mkdir -p $STATIC_DIR || { echo "😓 Can't mkdir $STATIC_DIR - code $?"; exit; } +mkdir -p $BACKEND_DIR || { echo "😓 Can't mkdir $BACKEND_DIR - code $?"; exit; } +cp -r $SOURCE_DIR/apps/vdn-static/dist/* "$STATIC_DIR" || { echo "😓 Can't copy static dist - code $?"; exit; } +cp -r $SOURCE_DIR/apps/vdb-backend/dist/* "$BACKEND_DIR" || { echo "😓 Can't copy backend dist - code $?"; exit; } +cd $BACKEND_DIR || { echo "😓 can't cd - code $?"; exit; } + +pm2 start . \ No newline at end of file