Files
DevOpsLab/Makefile
Сергей Антропов 382395b909 fix2
2025-03-05 18:59:10 +03:00

97 lines
3.1 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Переменные
ROLE_NAME ?= my_new_role
VAULT_PASSWORD_FILE ?= vault_password_file
INVENTORY ?= /workspace/inventory/hosts # Путь к инвентори внутри контейнера
PLAYBOOK ?= /workspace/role/playbook.yml # Путь к playbook внутри контейнера
####################################################################################################
# Управление контейнерами с помощью docker compose
####################################################################################################
# Сборка docker-образов
build:
docker compose build $(c)
# Пересборка docker-образов
rebuild:
docker compose build --no-cache $(c)
docker compose down
docker compose up -d
# Создание и запуск docker-контейнеров
up:
docker compose up -d
# Остановка и УДАЛЕНИЕ docker-контейнеров
down:
docker compose down
# Остановка docker-контейнеров
stop:
docker compose stop $(c)
# Запуск docker-контейнеров
start:
docker compose start $(c)
# Перезапуск docker-контейнеров
restart: down up
# Удаление docker-контейнеров с вольюмами
destroy:
docker compose down --volumes --remove-orphans && rm -rf data/*/
# Удаление docker-контейнеров с полной очисткой неактивных контейнеров
prune:
docker system prune -af
# Показать список контейнеров
ps:
docker compose ps
# Все логи конейнеров
logs:
docker compose logs --tail=100 -f $(c)
shell:
docker compose exec ansible bash
.PHONY: test lint vault deploy
test: ## Запуск тестов с molecule
docker compose run --rm ansible bash -c "molecule test"
lint: ## Проверка кода с ansible-lint
docker compose run --rm ansible sh -c "ansible-lint roles/role"
vault: ## Шифрование/дешифрование с ansible-vault
docker compose run --rm ansible sh -c "ansible-vault edit --vault-password-file vault-password.txt vars/secrets.yml"
deploy: test ## Деплой на реальные машины, если тест прошел успешно
@echo "Deploying roles to production..."
docker compose run --rm ansible sh -c "ansible-playbook -i inventory/production deploy.yml --vault-password-file vault-password.txt"
####################################################################################################
# Работа с Git
####################################################################################################
push:
# git config --global user.email "sergey@antropoff.ru"
# git config --global user.name "Sergey Antropoff"
git branch
@read -p "Выберите ветку для пуша: " BRANCH; \
read -p "Введите описание коммита: " COMMIT; \
commitname=$$COMMIT; \
git add . ; \
git commit -m "$$commitname"; \
git push -u origin $$BRANCH; \
echo "Изменения внесены в Git"
pull:
git pull
new-branch:
git checkout branch $(name)
branch:
git checkout $(name)