diff --git a/.gitea/workflows/build-and-push.yml b/.gitea/workflows/build-and-push.yml index cf1d588..e75b6fb 100644 --- a/.gitea/workflows/build-and-push.yml +++ b/.gitea/workflows/build-and-push.yml @@ -2,33 +2,41 @@ name: Build and Push Docker Image on: push: - branches: [ main ] + branches: + - main jobs: build-and-push: runs-on: ubuntu-latest + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - # Убираем driver-opts: network=host, чтобы вернуть интернет в билд + - name: Patch DNS for Local Network + run: | + # Мы говорим системе раннера: "Если ищешь домен, иди на локальный IP Synology" + # Это позволит пройти проверку SSL (имя совпадает), но пакеты пойдут по локалке. + sudo echo "192.168.50.55 dungeonsiege.synology.me" | sudo tee -a /etc/hosts + + # Проверка связи (опционально, для отладки) + ping -c 2 dungeonsiege.synology.me - name: Log in to Gitea Registry run: | - # Прописываем локальный IP в систему раннера - sudo echo "192.168.50.55 dungeonsiege.synology.me" | sudo tee -a /etc/hosts + # Логинимся стандартной командой. Она увидит запись в hosts и пойдет на 192.168.50.55 echo "${{ secrets.GIT_TOKEN }}" | docker login dungeonsiege.synology.me -u ${{ secrets.GIT_USERNAME }} --password-stdin - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - push: true - # Убираем network: host отсюда, чтобы apk add работал через bridge - # Но оставляем add-hosts, чтобы шаг PUSH знал, куда нести образ - add-hosts: | - dungeonsiege.synology.me:192.168.50.55 - tags: | - dungeonsiege.synology.me/poignatov/play-life:latest \ No newline at end of file + - name: Build Image + run: | + # Собираем обычным способом. Здесь интернет БУДЕТ работать. + docker build -t dungeonsiege.synology.me/poignatov/play-life:latest . + + - name: Push Image + run: | + # Отправляем образ. Благодаря шагу Patch DNS, он улетит на локальный IP. + docker push dungeonsiege.synology.me/poignatov/play-life:latest + + # Тэгируем версию коммита + docker tag dungeonsiege.synology.me/poignatov/play-life:latest dungeonsiege.synology.me/poignatov/play-life:${{ github.sha }} + docker push dungeonsiege.synology.me/poignatov/play-life:${{ github.sha }} \ No newline at end of file