Rewrite logic, use env variables, and add comments to the following code to make it more readable and maintainable.

This commit is contained in:
Kirill Kodanev 2025-09-11 19:49:28 +03:00
parent 9a449517ed
commit 31d07d4484
4 changed files with 259 additions and 35 deletions

View file

@ -3,10 +3,31 @@ name: Deploy DNS Configuration
on:
push:
branches: [ main ]
paths: [ 'domains.txt' ]
jobs:
deploy:
runs-on: self-hosted # Используем self-hosted runner на шлюзе
env:
# ==== Конфигурация проекта ====
INPUT_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
# Адрес сервиса Chromium
API_URL: http://10.100.1.2:3000/domains?domain=
# Директория конфигов на шлюзе
TARGET_DIR: /opt/appdata/pihole/etc/dnsmasq.d
# Имя контейнера Pi-hole
DOCKER_CONTAINER: pihole
steps:
- name: Checkout repository
uses: actions/checkout@v3
@ -30,10 +51,9 @@ jobs:
chmod +x scripts/generate-configs.sh
chmod +x scripts/deploy-to-gateway.sh
- name: Run workflow (clean → check → all)
- name: Run workflow (clean → all)
run: |
make clean
make check
make all
- name: Upload configs as artifacts
@ -41,5 +61,5 @@ jobs:
with:
name: dnsmasq-configs
path: |
/tmp/91-ipset-bbrkn.conf
/tmp/92-resolve-bbrkn.conf
${{ env.IPSET_CONF }}
${{ env.RESOLVE_CONF }}