Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5s

This commit is contained in:
poignatov
2025-12-30 20:26:21 +03:00
parent 9edc7f67bb
commit 36422994dc

View File

@@ -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
- 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 }}