kind: pipeline type: exec name: deploy trigger: branch: - main event: - push clone: disable: true steps: - name: deploy environment: DEPLOY_SSH_KEY: from_secret: DEPLOY_SSH_KEY DATABASE_URL: from_secret: DATABASE_URL STATIC_DIR: from_secret: STATIC_DIR TMP_DIR: from_secret: TMP_DIR NUXT_PUBLIC_SITE_URL: from_secret: NUXT_PUBLIC_SITE_URL BOOTSTRAP_ADMIN_USERNAME: from_secret: BOOTSTRAP_ADMIN_USERNAME BOOTSTRAP_ADMIN_PASSWORD: from_secret: BOOTSTRAP_ADMIN_PASSWORD commands: - export HOME=/root - mkdir -p "$HOME/.ssh" - chmod 700 "$HOME/.ssh" - 'printf "%s\n" "$DEPLOY_SSH_KEY" > "$HOME/.ssh/id_rsa"' - chmod 600 "$HOME/.ssh/id_rsa" - 'ssh-keyscan -p 8892 -H git.xieyaxin.top >> "$HOME/.ssh/known_hosts"' - chmod 644 "$HOME/.ssh/known_hosts" - 'GIT_SSH_COMMAND="ssh -i $HOME/.ssh/id_rsa -o IdentitiesOnly=yes -o UserKnownHostsFile=$HOME/.ssh/known_hosts -o StrictHostKeyChecking=accept-new -o BatchMode=yes -o ConnectTimeout=10 -o ServerAliveInterval=15 -o ServerAliveCountMax=3" ssh -T -p 8892 root@git.xieyaxin.top || true' - 'if [ ! -d "$HOME/projects/nuxt4-demo/nuxt4-demo" ]; then mkdir -p "$HOME/projects/nuxt4-demo" && GIT_SSH_COMMAND="ssh -i $HOME/.ssh/id_rsa -o IdentitiesOnly=yes -o UserKnownHostsFile=$HOME/.ssh/known_hosts -o StrictHostKeyChecking=accept-new -o BatchMode=yes -o ConnectTimeout=10 -o ServerAliveInterval=15 -o ServerAliveCountMax=3" git clone --depth 1 -b main "ssh://root@git.xieyaxin.top:8892/topuser/nuxt4-demo.git" "$HOME/projects/nuxt4-demo/nuxt4-demo"; else cd "$HOME/projects/nuxt4-demo/nuxt4-demo" && GIT_SSH_COMMAND="ssh -i $HOME/.ssh/id_rsa -o IdentitiesOnly=yes -o UserKnownHostsFile=$HOME/.ssh/known_hosts -o StrictHostKeyChecking=accept-new -o BatchMode=yes -o ConnectTimeout=10 -o ServerAliveInterval=15 -o ServerAliveCountMax=3" git pull origin main; fi' - pm2 stop nuxt4-demo - pm2 start nuxt4-demo