feat: добавлен Makefile для управления проектом и обновлен README.md
- Создан Makefile с командами для сборки, запуска, остановки, перезапуска и просмотра логов - Добавлены команды: build, up, down, restart, logs, clean, status, shell, dev, rebuild - Обновлен README.md с информацией об авторе и инструкциями по использованию Makefile - Добавлена таблица команд Makefile для удобства пользователей - Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
88
Makefile
Normal file
88
Makefile
Normal file
@@ -0,0 +1,88 @@
|
||||
# Makefile для LogBoard+
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
.PHONY: help build up down restart logs clean status ps shell
|
||||
|
||||
# Переменные
|
||||
COMPOSE_FILE = docker-compose.yml
|
||||
SERVICE_NAME = logboard
|
||||
|
||||
# Цвета для вывода
|
||||
GREEN = \033[0;32m
|
||||
YELLOW = \033[1;33m
|
||||
RED = \033[0;31m
|
||||
NC = \033[0m # No Color
|
||||
|
||||
help: ## Показать справку по командам
|
||||
@echo "$(GREEN)LogBoard+ - Команды управления$(NC)"
|
||||
@echo ""
|
||||
@echo "$(YELLOW)Основные команды:$(NC)"
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-15s$(NC) %s\n", $$1, $$2}'
|
||||
@echo ""
|
||||
@echo "$(YELLOW)Примеры использования:$(NC)"
|
||||
@echo " make build # Собрать образ"
|
||||
@echo " make up # Запустить сервисы"
|
||||
@echo " make down # Остановить сервисы"
|
||||
@echo " make restart # Перезапустить сервисы"
|
||||
@echo " make logs # Показать логи"
|
||||
|
||||
build: ## Собрать Docker образ
|
||||
@echo "$(GREEN)Сборка Docker образа...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) build --no-cache
|
||||
@echo "$(GREEN)Образ собран успешно!$(NC)"
|
||||
|
||||
up: ## Запустить сервисы в фоновом режиме
|
||||
@echo "$(GREEN)Запуск сервисов...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) up -d
|
||||
@echo "$(GREEN)Сервисы запущены!$(NC)"
|
||||
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
|
||||
|
||||
down: ## Остановить и удалить сервисы
|
||||
@echo "$(YELLOW)Остановка сервисов...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) down
|
||||
@echo "$(GREEN)Сервисы остановлены!$(NC)"
|
||||
|
||||
restart: ## Перезапустить сервисы
|
||||
@echo "$(YELLOW)Перезапуск сервисов...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) restart
|
||||
@echo "$(GREEN)Сервисы перезапущены!$(NC)"
|
||||
|
||||
logs: ## Показать логи сервисов
|
||||
@echo "$(GREEN)Логи сервисов:$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) logs -f
|
||||
|
||||
logs-tail: ## Показать последние 100 строк логов
|
||||
@echo "$(GREEN)Последние 100 строк логов:$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) logs --tail=100
|
||||
|
||||
clean: ## Остановить сервисы и удалить образы
|
||||
@echo "$(RED)Очистка проекта...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans
|
||||
@echo "$(GREEN)Очистка завершена!$(NC)"
|
||||
|
||||
status: ## Показать статус сервисов
|
||||
@echo "$(GREEN)Статус сервисов:$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) ps
|
||||
|
||||
ps: status ## Алиас для команды status
|
||||
|
||||
shell: ## Подключиться к контейнеру сервиса
|
||||
@echo "$(GREEN)Подключение к контейнеру $(SERVICE_NAME)...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash
|
||||
|
||||
start: up ## Алиас для команды up
|
||||
|
||||
stop: down ## Алиас для команды down
|
||||
|
||||
dev: ## Запуск в режиме разработки (с выводом логов)
|
||||
@echo "$(GREEN)Запуск в режиме разработки...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) up --build
|
||||
|
||||
rebuild: ## Пересобрать и запустить сервисы
|
||||
@echo "$(YELLOW)Пересборка и запуск сервисов...$(NC)"
|
||||
docker-compose -f $(COMPOSE_FILE) down
|
||||
docker-compose -f $(COMPOSE_FILE) build --no-cache
|
||||
docker-compose -f $(COMPOSE_FILE) up -d
|
||||
@echo "$(GREEN)Сервисы пересобраны и запущены!$(NC)"
|
||||
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
|
||||
Reference in New Issue
Block a user