56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: Deploy DNS Configuration
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
workflow_dispatch: # Ручной запуск из UI
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: self-hosted # Используем self-hosted runner на шлюзе
|
|
env:
|
|
DEBUG: 1
|
|
DEBUG_LOG: /tmp/generate-configs.debug.log
|
|
# ==== Конфигурация проекта ====
|
|
DOMAINS_FILE: domains.txt
|
|
|
|
# Временные конфиги (куда пишутся generate-configs.sh)
|
|
IPSET_CONF: /tmp/91-ipset-bbrkn.conf
|
|
RESOLVE_CONF: /tmp/92-resolve-bbrkn.conf
|
|
|
|
# DNS-сервер для резолвинга
|
|
DNS_SERVER: 8.8.8.8
|
|
|
|
# Gekata
|
|
CHROME_SERVER: http://10.77.1.2:3000
|
|
|
|
# Директория конфигов на шлюзе
|
|
TARGET_DIR: /opt/appdata/pihole/etc/dnsmasq.d
|
|
|
|
# Имя контейнера Pi-hole
|
|
DOCKER_CONTAINER: pihole
|
|
|
|
IGNORE_PARTS: "doubleclick yandex mail.ru bigsv.ru mts.ru rambler.ru yadro.ru aif.ru vkvideo.ru tns-counter.ru st.vk.com vk.com"
|
|
|
|
# Кэш API-ответов (self-hosted runner сохраняет workspace между запусками)
|
|
CACHE_DIR: .cache/api
|
|
CACHE_TTL_DAYS: 15
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Run workflow (clean → all)
|
|
run: |
|
|
make clean
|
|
make all
|
|
|
|
- name: Upload configs as artifacts
|
|
if: always() # Загружаем артефакты даже при падении — для отладки
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dnsmasq-configs
|
|
path: |
|
|
${{ env.IPSET_CONF }}
|
|
${{ env.RESOLVE_CONF }}
|
|
${{ env.DEBUG_LOG }}
|