From 81feeda6fcbe50e83579c5de6f49bbc0686ce88b Mon Sep 17 00:00:00 2001 From: pkirillw Date: Fri, 16 Oct 2026 00:07:23 +0300 Subject: [PATCH] =?UTF-8?q?deploy.yml:=20=D1=80=D0=B5=D0=B3=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=D0=B7=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=20(sync-workflows)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Прогон sync-workflows.sh 2026-10-16 при добавлении caddy — закрывает известный дрейф deploy.yml старого поколения. Co-Authored-By: Claude Code --- .gitea/workflows/deploy.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index cc02a16..8eb9aa6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest env: SERVICE: max-bot-test + REPO: max-bot-test HEALTHCHECK: "" BUILD: "true" SERVER_HOST: ${{ vars.SERVER_HOST }} @@ -33,24 +34,33 @@ jobs: ssh-keyscan -p "$SERVER_PORT" "$SERVER_HOST" >> ~/.ssh/known_hosts 2>/dev/null - name: Clone or reset repo on server + env: + GIT_TOKEN: ${{ secrets.GIT_TOKEN }} run: | + # Аутентификация git к приватным репо через http.extraHeader (токен не + # оседает в .git/config сервера). fetch и reset — РАЗДЕЛЬНО, иначе при + # set -e ошибка fetch в 'fetch && reset' молча проглатывается. + AUTH="http.extraHeader=Authorization: token ${GIT_TOKEN}" ssh -i ~/.ssh/id_rsa -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" " set -e - URL=https://git.pkirillw-server.ru/pkirillw/$SERVICE.git + URL=https://git.pkirillw-server.ru/pkirillw/$REPO.git if [ -d '$SERVER_BASE/$SERVICE/.git' ]; then cd '$SERVER_BASE/$SERVICE' - git rev-parse HEAD > /tmp/deploy_prev_$SERVICE - git fetch origin main && git reset --hard origin/main + git rev-parse HEAD > /tmp/deploy_prev_$SERVICE 2>/dev/null || : > /tmp/deploy_prev_$SERVICE + git -c \"$AUTH\" fetch origin main + git reset --hard origin/main elif [ -d '$SERVER_BASE/$SERVICE' ]; then # папка есть, но не git (развёрнуто вручную) — инициализируем на месте cd '$SERVER_BASE/$SERVICE' git init -q git remote add origin \$URL 2>/dev/null || git remote set-url origin \$URL - git fetch -q origin main && git reset --hard origin/main + git -c \"$AUTH\" fetch origin main + git reset --hard origin/main : > /tmp/deploy_prev_$SERVICE else mkdir -p '$SERVER_BASE' - cd '$SERVER_BASE' && git clone \$URL '$SERVICE' + cd '$SERVER_BASE' + git -c \"$AUTH\" clone \$URL '$SERVICE' : > /tmp/deploy_prev_$SERVICE fi"