From 507b184e06550d9ceb184368395ba31334608b1e Mon Sep 17 00:00:00 2001 From: poignatov Date: Tue, 30 Dec 2025 20:02:51 +0300 Subject: [PATCH] Update workflow configuration --- .gitea/workflows/build-and-push.yml | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build-and-push.yml b/.gitea/workflows/build-and-push.yml index 90bd321..25a5b00 100644 --- a/.gitea/workflows/build-and-push.yml +++ b/.gitea/workflows/build-and-push.yml @@ -13,16 +13,27 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Log in to Gitea Registry + - name: Setup Local Bridge run: | - # Используем внутренний IP, но через протокол HTTP явно. - # Если это упадет с ошибкой HTTPS, значит используем План Б ниже. - echo "${{ secrets.GIT_TOKEN }}" | docker login http://172.17.0.6:3000 -u ${{ secrets.GIT_USERNAME }} --password-stdin + # Удаляем старый мост, если он остался + docker rm -f bridge || true + # Пробрасываем localhost:8080 раннера на Gitea:3000 + docker run -d --name bridge --network host --rm alpine sh -c "apk add socat && socat TCP-LISTEN:8080,fork,reuseaddr TCP:172.17.0.6:3000" + sleep 3 + + - name: Log in to Gitea Registry + # Docker ВСЕГДА разрешает HTTP для localhost. + run: | + echo "${{ secrets.GIT_TOKEN }}" | docker login localhost:8080 -u ${{ secrets.GIT_USERNAME }} --password-stdin - name: Build and Push run: | - # Собираем образ с тегом внутреннего IP - docker build -t 172.17.0.6:3000/poignatov/play-life:latest . + # Собираем образ с тегом localhost:8080 + docker build -t localhost:8080/poignatov/play-life:latest . - # Пушим напрямую - docker push 172.17.0.6:3000/poignatov/play-life:latest \ No newline at end of file + # Пушим через туннель + docker push localhost:8080/poignatov/play-life:latest + + # Добавляем тег с SHA коммита для истории + docker tag localhost:8080/poignatov/play-life:latest localhost:8080/poignatov/play-life:${{ github.sha }} + docker push localhost:8080/poignatov/play-life:${{ github.sha }} \ No newline at end of file