view create edit show delete test lint deploy: @true #################################################################################################### # Управление контейнерами с помощью docker compose #################################################################################################### # Сборка docker-образов build: cp ~/.ssh/id_rsa . docker compose build $(c) rm id_rsa # Пересборка docker-образов rebuild: cp ~/.ssh/id_rsa . docker compose build --no-cache $(c) rm id_rsa # Удаление docker-контейнеров с полной очисткой неактивных контейнеров prune: docker system prune -af #################################################################################################### # Работа с ролью #################################################################################################### vault: @case "$(word 2, $(MAKECMDGOALS))" in \ show) docker compose run --rm ansible bash -c "ansible-vault view --vault-password-file vault-password.txt roles/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/vars/secrets.yml";; \ edit) docker compose run --rm ansible bash -c "ansible-vault edit --vault-password-file vault-password.txt roles/vars/secrets.yml";; \ delete) docker compose run --rm ansible bash -c "rm roles/vars/secrets.yml";; \ *) echo "Unknown action";; \ esac role: @case "$(word 2, $(MAKECMDGOALS))" in \ lint) \ clear; \ echo "Check your role..."; \ docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt roles/vars/secrets.yml"; \ docker compose run --rm ansible bash -c "ansible-lint roles/*"; \ echo " "; \ docker compose run --rm ansible bash -c "ansible-vault encrypt roles/vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \ test) \ clear; \ echo "Running test roles..."; \ docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt roles/vars/secrets.yml"; \ docker compose run --rm ansible bash -c "molecule test --parallel"; \ echo " "; \ docker compose run --rm ansible bash -c "ansible-vault encrypt roles/vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \ deploy) \ clear; \ echo "Deploying roles to production..."; \ docker compose run --rm ansible bash -c "ansible-playbook /ansible/roles/deploy.yaml";; \ *) echo "Unknown action";; \ esac #################################################################################################### # Работа с Git #################################################################################################### push: 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