From 793a7c9da35c7ae4add52d3ac0b3a5e34683f949 Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Sat, 27 Jun 2026 12:04:58 +0300 Subject: [PATCH] deploy directly to docker, not ssh --- .gitea/workflows/deploy.yml | 54 ++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 78e4465..e5b9ad8 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -11,14 +11,18 @@ jobs: # ── BUILD SERVER ────────────────────────────────────────────────────────────── build-server: runs-on: docker1 + defaults: + run: + working-directory: /workspace steps: - name: Checkout + working-directory: / run: | - if [ -d .git ]; then - git fetch origin main - git reset --hard origin/main + mkdir -p /workspace + if [ -d /workspace/.git ]; then + cd /workspace && git fetch origin && git reset --hard origin/${{ gitea.ref_name }} else - git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git . + git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git /workspace fi - name: Build & push server @@ -38,14 +42,18 @@ jobs: # ── BUILD WEBCLIENT ─────────────────────────────────────────────────────────── build-webclient: runs-on: docker1 + defaults: + run: + working-directory: /workspace steps: - name: Checkout + working-directory: / run: | - if [ -d .git ]; then - git fetch origin main - git reset --hard origin/main + mkdir -p /workspace + if [ -d /workspace/.git ]; then + cd /workspace && git fetch origin && git reset --hard origin/${{ gitea.ref_name }} else - git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git . + git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git /workspace fi - name: Build & push webclient @@ -68,23 +76,15 @@ jobs: needs: [build-server, build-webclient] if: always() && !failure() && !cancelled() steps: - - name: Deploy via SSH + - name: Deploy run: | - mkdir -p ~/.ssh - echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/deploy_key - chmod 600 ~/.ssh/deploy_key - ssh-keyscan ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts - - ssh -i ~/.ssh/deploy_key ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} bash << 'EOF' - set -e - mkdir -p /opt/blockly3d - cd /opt/blockly3d - if [ ! -d .git ]; then - git clone https://git.aggtaa.com/anton/blockly3d.git . - else - git pull origin main - fi - docker compose pull - docker compose up -d --remove-orphans - docker image prune -f - EOF + mkdir -p "/app-cache/${{ gitea.repository }}" + cd "/app-cache/${{ gitea.repository }}" + if [ ! -d .git ]; then + git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git . + else + git pull origin main + fi + docker compose pull + docker compose up -d --remove-orphans + docker image prune -f