Drone CD/CD PipeLine added
Some checks failed
continuous-integration/drone Build is failing

This commit is contained in:
2025-11-02 06:23:39 +09:00
parent 2e535513b5
commit d5f1809f5a
13 changed files with 3537 additions and 67 deletions

View File

@@ -175,6 +175,75 @@ format: ## Форматирование кода
@docker-compose exec frontend npm run format || true
@echo "✅ Код отформатирован"
# === CI/CD Operations ===
ci-lint: ## Локальный запуск CI линтинга
@echo "🔍 Запуск CI линтинга локально..."
@bash ./scripts/ci/lint.sh
@echo "✅ CI линтинг завершен"
ci-test: ## Локальный запуск CI тестов
@echo "🧪 Запуск CI тестов локально..."
@bash ./scripts/ci/test.sh
@echo "✅ CI тесты завершены"
ci-security: ## Локальный запуск проверки безопасности
@echo "🔒 Запуск проверки безопасности..."
@bash ./scripts/ci/security-scan.sh
@echo "✅ Проверка безопасности завершена"
ci-build: ## Локальная сборка как в CI
@echo "🏗️ Запуск CI сборки локально..."
@bash ./scripts/ci/build.sh
@echo "✅ CI сборка завершена"
ci-build-prod: ## Локальная сборка продакшен образов
@echo "🏗️ Сборка продакшен образов..."
@bash ./scripts/ci/build-production.sh
@echo "✅ Продакшен образы собраны"
ci-publish: ## Публикация образов в registry
@echo "📤 Публикация образов..."
@bash ./scripts/ci/publish.sh
@echo "✅ Образы опубликованы"
ci-deploy-staging: ## Деплой на staging
@echo "🚀 Деплой на staging..."
@bash ./scripts/ci/deploy-staging.sh
@echo "✅ Staging деплой завершен"
ci-deploy-production: ## Деплой на production
@echo "🚀 Деплой на production..."
@bash ./scripts/ci/deploy-production.sh
@echo "✅ Production деплой завершен"
ci-pipeline: ## Полный CI/CD пайплайн локально
@echo "🚀 Запуск полного CI/CD пайплайна..."
@$(MAKE) ci-lint
@$(MAKE) ci-test
@$(MAKE) ci-security
@$(MAKE) ci-build
@echo "✅ Полный пайплайн завершен"
drone-validate: ## Валидация .drone.yml
@echo "✅ Валидация Drone конфигурации..."
@if command -v drone >/dev/null 2>&1; then \
drone lint .drone.yml; \
else \
echo "⚠️ Drone CLI не установлен, используем docker..."; \
docker run --rm -v "$(PWD):/repo" -w /repo drone/cli:alpine lint .drone.yml; \
fi
@echo "✅ Валидация завершена"
drone-sign: ## Подпись .drone.yml (требует настройки)
@echo "🔐 Подпись Drone конфигурации..."
@if [ -z "$(DRONE_SECRET)" ]; then \
echo "❌ DRONE_SECRET не установлен"; \
exit 1; \
fi
@drone sign smartsoltech/links --save
@echo "✅ Конфигурация подписана"
# === Helper scripts and automation ===
generate-env: ## Сгенерировать .env (интерактивно)
@echo "🧭 Генерация .env файла (использует scripts/generate_env.sh)"