feat: Добавлен пресет all-images и установка sudo во все Dockerfile
- Создан пресет all-images для тестирования всех 9 образов - Добавлен sudo во все Dockerfile образы - Настроены sudoers для root и пользователей - Упрощен site.yml (убрана установка sudo) - Добавлена документация для пресета all-images - Обновлен Makefile с поддержкой нового пресета - Исправлена проблема с Parsec в Astra Linux - Улучшена система очистки контейнеров Пресет all-images включает: - Debian-based: Ubuntu, Debian, Alt Linux, Astra Linux - RHEL-based: CentOS, RHEL, AlmaLinux, Rocky Linux, RedOS - Уникальные порты 8080-8088 - Переменные окружения TEST_OS и TEST_FAMILY
This commit is contained in:
18
Makefile
18
Makefile
@@ -78,7 +78,7 @@ role:
|
||||
-e MOLECULE_PRESET=$$PRESET \
|
||||
-e MOLECULE_EPHEMERAL_DIRECTORY=/tmp/molecule_workspace \
|
||||
$(DOCKER_IMAGE) \
|
||||
bash -c "mkdir -p /tmp/molecule_workspace/inventory && cd molecule/default && ansible-playbook -i localhost, create.yml --connection=local -e molecule_ephemeral_directory=/tmp/molecule_workspace && ansible-playbook -i /tmp/molecule_workspace/inventory/hosts.ini site.yml && ansible-playbook -i localhost, destroy.yml --connection=local -e molecule_ephemeral_directory=/tmp/molecule_workspace" || echo "✅ Тестирование завершено"; \
|
||||
bash -c "mkdir -p /tmp/molecule_workspace/inventory && cd molecule/default && ansible-playbook -i localhost, create.yml --connection=local -e molecule_ephemeral_directory=/tmp/molecule_workspace && ansible-playbook -i /tmp/molecule_workspace/inventory/hosts.ini site.yml; ansible-playbook -i localhost, destroy.yml --connection=local -e molecule_ephemeral_directory=/tmp/molecule_workspace; echo '✅ Тестирование завершено'"; \
|
||||
fi;; \
|
||||
deploy) \
|
||||
echo "🚀 Развертывание ролей на реальные серверы..."; \
|
||||
@@ -116,6 +116,7 @@ role:
|
||||
echo " 💡 Примеры:"; \
|
||||
echo " make role test # с default preset"; \
|
||||
echo " make role test minimal # с minimal preset"; \
|
||||
echo " make role test all-images # со всеми образами"; \
|
||||
echo " make role test etcd-patroni # с etcd-patroni preset"; \
|
||||
echo ""; \
|
||||
echo " 🚀 make role deploy - развернуть роли на реальные серверы"; \
|
||||
@@ -975,6 +976,7 @@ help:
|
||||
@echo " make presets list # показать все preset'ы"
|
||||
@echo " make presets test PRESET=etcd-patroni # тест с etcd-patroni"
|
||||
@echo " make role test minimal # быстрый тест"
|
||||
@echo " make role test all-images # тест всех образов"
|
||||
@echo " make docker setup-builder # настройка multi-arch builder"
|
||||
@echo " make docker diagnose # диагностика buildx проблем"
|
||||
@echo " make docker reset-builder # сброс buildx builder"
|
||||
@@ -1062,6 +1064,20 @@ setup-cicd:
|
||||
@chmod +x scripts/setup-cicd.sh
|
||||
@./scripts/setup-cicd.sh
|
||||
|
||||
# Очистка контейнеров Molecule
|
||||
.PHONY: clean-containers
|
||||
clean-containers:
|
||||
@echo "🧹 Очистка контейнеров Molecule..."
|
||||
@echo "📋 Поиск контейнеров проекта..."
|
||||
@docker ps -a --filter "ancestor=inecs/ansible-lab" --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" || true
|
||||
@echo ""
|
||||
@echo "🗑️ Удаление контейнеров..."
|
||||
@docker ps -a --filter "ancestor=inecs/ansible-lab" --format "{{.ID}}" | xargs -r docker rm -f 2>/dev/null || true
|
||||
@docker ps -a --filter "network=labnet" --format "{{.ID}}" | xargs -r docker rm -f 2>/dev/null || true
|
||||
@echo "🧹 Очистка сетей..."
|
||||
@docker network rm labnet 2>/dev/null || true
|
||||
@echo "✅ Очистка завершена"
|
||||
|
||||
# Пустые цели для совместимости
|
||||
view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge clean-builder setup-builder diagnose reset-builder build-image:
|
||||
@true
|
||||
|
||||
Reference in New Issue
Block a user