|
|
|
@@ -42,14 +42,20 @@ BUILD_DIR_PY = build
|
|
|
|
|
SPEC_FILE = $(APP_NAME).spec
|
|
|
|
|
|
|
|
|
|
# Переменные для запуска Gitea Actions workflows
|
|
|
|
|
DFGIT_URL ?= http://dfgit
|
|
|
|
|
DFGIT_URL ?= https://github.dfv24.com
|
|
|
|
|
WORKFLOW_DISPATCH_SCRIPT ?= scripts/wiki_sync_dispatch.py
|
|
|
|
|
DFGIT_REPO ?= fofanov.dmitry/configure_nginx_manager
|
|
|
|
|
GIT_TOKEN ?=
|
|
|
|
|
GITEA_TOKEN ?=
|
|
|
|
|
GITEA_ACCESS_TOKEN ?=
|
|
|
|
|
AUTH_TOKEN := $(or $(DFGIT_TOKEN),$(GIT_TOKEN),$(GITEA_TOKEN),$(GITEA_ACCESS_TOKEN))
|
|
|
|
|
|
|
|
|
|
WIKI_SYNC_WORKFLOW ?= wiki-sync.yml
|
|
|
|
|
WIKI_SYNC_REF ?= master
|
|
|
|
|
|
|
|
|
|
RELEASE_WORKFLOW ?= release.yml
|
|
|
|
|
RELEASE_REF ?= master
|
|
|
|
|
RELEASE_TAG := $(if $(TAG),$(TAG),v$(VERSION))
|
|
|
|
|
|
|
|
|
|
DEPLOY_SERVICE_WORKFLOW ?= deploy-service.yml
|
|
|
|
|
DEPLOY_SERVICE_REF ?= master
|
|
|
|
@@ -86,9 +92,9 @@ help:
|
|
|
|
|
@echo ""
|
|
|
|
|
@echo "$(GREEN)CI / Wiki:$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
@echo " $(YELLOW)make wiki-sync$(NC) - Запустить workflow wiki-sync.yml на dfgit"
|
|
|
|
|
@echo " $(YELLOW)make ci-release$(NC) - Запустить workflow release.yml на dfgit (нужен TAG или VERSION)"
|
|
|
|
|
@echo " $(YELLOW)make deploy-service$(NC) - Запустить workflow deploy-service.yml на dfgit"
|
|
|
|
|
@echo " $(YELLOW)make wiki-sync$(NC) - Запустить workflow wiki-sync.yml на github.dfv24.com"
|
|
|
|
|
@echo " $(YELLOW)make ci-release$(NC) - Запустить workflow release.yml на github.dfv24.com (нужен TAG или VERSION)"
|
|
|
|
|
@echo " $(YELLOW)make deploy-service$(NC) - Запустить workflow deploy-service.yml на github.dfv24.com"
|
|
|
|
|
@echo ""
|
|
|
|
|
@echo " $(YELLOW)make help$(NC) - Показать эту справку"
|
|
|
|
|
@echo ""
|
|
|
|
@@ -444,17 +450,35 @@ logs:
|
|
|
|
|
@echo "$(YELLOW)→ Логи systemd:$(NC)"
|
|
|
|
|
@journalctl -u $(SERVICE_FILE) -n 50 --no-pager 2>/dev/null || echo "$(YELLOW)Логи systemd не найдены$(NC)"
|
|
|
|
|
|
|
|
|
|
# Запуск workflow синхронизации wiki на dfgit
|
|
|
|
|
# Запуск workflow синхронизации wiki на github.dfv24.com
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
wiki-sync:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск wiki-sync workflow на dfgit ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск wiki-sync workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
@$(PYTHON) $(WORKFLOW_DISPATCH_SCRIPT) --workflow $(WIKI_SYNC_WORKFLOW) --ref $(WIKI_SYNC_REF) --input ref=$(WIKI_SYNC_REF)
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@powershell -NoProfile -ExecutionPolicy Bypass -Command "$$ErrorActionPreference='Stop'; Write-Host '>>> Запуск wiki-sync workflow (ref=$(WIKI_SYNC_REF))...'; Invoke-RestMethod -Method Post -Uri '$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(WIKI_SYNC_WORKFLOW)/dispatches' -Headers @{ Authorization = 'token $(AUTH_TOKEN)'; 'Content-Type' = 'application/json' } -Body '{\"ref\": \"$(WIKI_SYNC_REF)\", \"inputs\": {\"ref\": \"$(WIKI_SYNC_REF)\"}}' -ErrorAction Stop | Out-Null; Write-Host '>>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions'"
|
|
|
|
|
else
|
|
|
|
|
wiki-sync:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск wiki-sync workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@echo ">>> Запуск wiki-sync workflow (ref=$(WIKI_SYNC_REF))..."
|
|
|
|
|
@curl -sf -X POST \
|
|
|
|
|
-H "Authorization: token $(AUTH_TOKEN)" \
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
"$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(WIKI_SYNC_WORKFLOW)/dispatches" \
|
|
|
|
|
-d '{"ref": "$(WIKI_SYNC_REF)", "inputs": {"ref": "$(WIKI_SYNC_REF)"}}' \
|
|
|
|
|
&& echo ">>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions"
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
ci-release:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск release workflow на dfgit ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск release workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
ifndef TAG
|
|
|
|
@@ -462,14 +486,52 @@ ifndef TAG
|
|
|
|
|
$(error Укажите TAG=vX.Y.Z или VERSION=X.Y.Z. Пример: make ci-release TAG=v1.0.0)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
@$(PYTHON) $(WORKFLOW_DISPATCH_SCRIPT) --workflow $(RELEASE_WORKFLOW) --ref $(RELEASE_REF) --input tag=$(if $(TAG),$(TAG),v$(VERSION)) --require-input tag
|
|
|
|
|
|
|
|
|
|
deploy-service:
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@powershell -NoProfile -ExecutionPolicy Bypass -Command "$$ErrorActionPreference='Stop'; Write-Host '>>> Запуск release workflow (ref=$(RELEASE_REF), tag=$(RELEASE_TAG))...'; Invoke-RestMethod -Method Post -Uri '$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(RELEASE_WORKFLOW)/dispatches' -Headers @{ Authorization = 'token $(AUTH_TOKEN)'; 'Content-Type' = 'application/json' } -Body '{\"ref\": \"$(RELEASE_REF)\", \"inputs\": {\"tag\": \"$(RELEASE_TAG)\"}}' -ErrorAction Stop | Out-Null; Write-Host '>>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions'"
|
|
|
|
|
else
|
|
|
|
|
ci-release:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск deploy-service workflow на dfgit ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск release workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
@$(PYTHON) $(WORKFLOW_DISPATCH_SCRIPT) --workflow $(DEPLOY_SERVICE_WORKFLOW) --ref $(if $(REF),$(REF),$(DEPLOY_SERVICE_REF)) --input ref=$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF))
|
|
|
|
|
ifndef TAG
|
|
|
|
|
ifndef VERSION
|
|
|
|
|
$(error Укажите TAG=vX.Y.Z или VERSION=X.Y.Z. Пример: make ci-release TAG=v1.0.0)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@echo ">>> Запуск release workflow (ref=$(RELEASE_REF), tag=$(RELEASE_TAG))..."
|
|
|
|
|
@curl -sf -X POST \
|
|
|
|
|
-H "Authorization: token $(AUTH_TOKEN)" \
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
"$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(RELEASE_WORKFLOW)/dispatches" \
|
|
|
|
|
-d '{"ref": "$(RELEASE_REF)", "inputs": {"tag": "$(RELEASE_TAG)"}}' \
|
|
|
|
|
&& echo ">>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions"
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
deploy-service:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск deploy-service workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@powershell -NoProfile -ExecutionPolicy Bypass -Command "$$ErrorActionPreference='Stop'; Write-Host '>>> Запуск deploy-service workflow (ref=$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF)))...'; Invoke-RestMethod -Method Post -Uri '$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(DEPLOY_SERVICE_WORKFLOW)/dispatches' -Headers @{ Authorization = 'token $(AUTH_TOKEN)'; 'Content-Type' = 'application/json' } -Body '{\"ref\": \"$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF))\", \"inputs\": {\"ref\": \"$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF))\"}}' -ErrorAction Stop | Out-Null; Write-Host '>>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions'"
|
|
|
|
|
else
|
|
|
|
|
deploy-service:
|
|
|
|
|
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════╗$(NC)"
|
|
|
|
|
@echo "$(BLUE)║ Запуск deploy-service workflow на github.dfv24.com ║$(NC)"
|
|
|
|
|
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════╝$(NC)"
|
|
|
|
|
@echo ""
|
|
|
|
|
$(if $(AUTH_TOKEN),,$(error Токен не задан. Укажите DFGIT_TOKEN или GIT_TOKEN/GITEA_TOKEN/GITEA_ACCESS_TOKEN))
|
|
|
|
|
@echo ">>> Запуск deploy-service workflow (ref=$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF)))..."
|
|
|
|
|
@curl -sf -X POST \
|
|
|
|
|
-H "Authorization: token $(AUTH_TOKEN)" \
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
"$(DFGIT_URL)/api/v1/repos/$(DFGIT_REPO)/actions/workflows/$(DEPLOY_SERVICE_WORKFLOW)/dispatches" \
|
|
|
|
|
-d '{"ref": "$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF))", "inputs": {"ref": "$(if $(REF),$(REF),$(DEPLOY_SERVICE_REF))"}}' \
|
|
|
|
|
&& echo ">>> Workflow запущен. Статус: $(DFGIT_URL)/$(DFGIT_REPO)/actions"
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
# Ручной запуск обновления
|
|
|
|
|
run: check-root
|
|
|
|
|