Makefile fix

This commit is contained in:
2025-03-13 11:24:14 +03:00
parent 4e5ae1e78b
commit 0c3bacfe9c
3 changed files with 35 additions and 16 deletions

View File

@@ -55,24 +55,34 @@ logs:
shell:
docker compose exec ansible bash
####################################################################################################
# Работа с ролью
####################################################################################################
view create edit view delete test lint deploy:
@true
.PHONY: test lint vault deploy
vault:
@case "$(word 2, $(MAKECMDGOALS))" in \
view) docker compose run --rm ansible bash -c "ansible-vault view --vault-password-file vault-password.txt roles/role/vars/secrets.yml";; \
create) docker compose run --rm ansible bash -c "ansible-vault create --encrypt-vault-id default --vault-password-file vault-password.txt roles/role/vars/secrets.yml";; \
edit) docker compose run --rm ansible bash -c "ansible-vault edit --vault-password-file vault-password.txt roles/role/vars/secrets.yml";; \
delete) docker compose run --rm ansible bash -c "rm roles/role/vars/secrets.yml";; \
*) echo "Unknown action";; \
esac
test: ## Запуск тестов с molecule
docker compose run --rm ansible bash -c "molecule test"
lint: ## Проверка кода с ansible-lint
docker compose run --rm ansible bash -c "ansible-lint roles/role"
vault_create: ## Шифрование/дешифрование с ansible-vault
docker compose run --rm ansible bash -c "ansible-vault create --encrypt-vault-id default --vault-password-file vault-password.txt roles/role/vars/secrets.yml"
vault_edit: ## Шифрование/дешифрование с ansible-vault
docker compose run --rm ansible bash -c "ansible-vault edit --vault-password-file vault-password.txt roles/role/vars/secrets.yml"
deploy: test ## Деплой на реальные машины, если тест прошел успешно
@echo "Deploying roles to production..."
docker compose run --rm ansible /usr/bin/sh -c "ansible-playbook -i inventory/production deploy.yml --vault-password-file vault-password.txt"
role:
@case "$(word 2, $(MAKECMDGOALS))" in \
test) \
echo "Running test roles..."; \
docker compose run --rm ansible bash -c "molecule test";; \
lint) \
echo "Check your role..."; \
docker compose run --rm ansible bash -c "ansible-lint roles/role";; \
deploy) \
echo "Deploying roles to production..."; \
docker compose run --rm ansible /usr/bin/sh -c "ansible-playbook -i inventory/production deploy.yml --vault-password-file vault-password.txt";; \
*) echo "Unknown action";; \
esac
####################################################################################################
# Работа с Git