From a318279d5fc672b845d573e46033c047f861e436 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 14 Jun 2026 11:22:50 +0800 Subject: [PATCH] feat: simplify SSH deploy step, update docker-compose to use own registry --- .gitea/workflows/docker-build.yaml | 46 ++---------------------------- docker-compose.yml | 2 +- 2 files changed, 4 insertions(+), 44 deletions(-) diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml index 32c32011a..5e33eea49 100644 --- a/.gitea/workflows/docker-build.yaml +++ b/.gitea/workflows/docker-build.yaml @@ -85,48 +85,8 @@ jobs: if: success() run: | if [ -z "${{ secrets.DEPLOY_SSH_HOST }}" ]; then - echo "DEPLOY_SSH_HOST not configured, skipping SSH deploy" + echo "DEPLOY_SSH_HOST not set, skip deploy" exit 0 fi - - # Install sshpass if not available - if ! command -v sshpass &> /dev/null; then - if command -v apk &> /dev/null; then - apk add --no-cache sshpass - elif command -v apt-get &> /dev/null; then - apt-get update && apt-get install -y sshpass - else - echo "sshpass not available, trying ssh with key" - fi - fi - - SSH_HOST="${{ secrets.DEPLOY_SSH_HOST }}" - SSH_PORT="${{ secrets.DEPLOY_SSH_PORT }}" - SSH_USER="${{ secrets.DEPLOY_SSH_USER }}" - SSH_PASS="${{ secrets.DEPLOY_SSH_PASS }}" - SSH_KEY="${{ secrets.DEPLOY_SSH_KEY }}" - DEPLOY_CMD="${{ secrets.DEPLOY_CMD }}" - - # Default port - SSH_PORT="${SSH_PORT:-22}" - # Default deploy command - DEPLOY_CMD="${DEPLOY_CMD:-docker pull git.viaeon.com/admin/new-api:latest && docker compose up -d}" - - SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT}" - - if [ -n "${SSH_KEY}" ]; then - echo "Deploying via SSH key..." - mkdir -p ~/.ssh - echo "${SSH_KEY}" > ~/.ssh/deploy_key - chmod 600 ~/.ssh/deploy_key - ssh ${SSH_OPTS} -i ~/.ssh/deploy_key ${SSH_USER}@${SSH_HOST} "${DEPLOY_CMD}" - rm -f ~/.ssh/deploy_key - elif [ -n "${SSH_PASS}" ] && command -v sshpass &> /dev/null; then - echo "Deploying via SSH password..." - sshpass -p "${SSH_PASS}" ssh ${SSH_OPTS} ${SSH_USER}@${SSH_HOST} "${DEPLOY_CMD}" - else - echo "No SSH key or password configured, skipping SSH deploy" - exit 0 - fi - - echo "SSH deploy completed successfully" + apk add --no-cache sshpass 2>/dev/null || apt-get update && apt-get install -y sshpass 2>/dev/null || true + sshpass -p "${{ secrets.DEPLOY_SSH_PASS }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.DEPLOY_SSH_PORT || 22 }} ${{ secrets.DEPLOY_SSH_USER }}@${{ secrets.DEPLOY_SSH_HOST }} "cd ${{ secrets.DEPLOY_DIR || '/opt/new-api' }} && docker compose pull && docker compose up -d" diff --git a/docker-compose.yml b/docker-compose.yml index 48c071f98..52d259e27 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,7 +16,7 @@ version: '3.4' # For compatibility with older Docker versions services: new-api: - image: calciumion/new-api:latest + image: git.viaeon.com/admin/new-api:latest container_name: new-api restart: always command: --log-dir /app/logs