Штinit commit

This commit is contained in:
Сергей Антропов
2025-03-05 15:53:41 +03:00
parent 43bd842720
commit 93333c3598
13 changed files with 214 additions and 0 deletions

110
Makefile Normal file
View File

@@ -0,0 +1,110 @@
# Переменные
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-molecule bash
# Запуск тестов Molecule
test:
docker compose run --rm ansible-molecule sh -c "molecule test"
#docker compose run --rm ansible-molecule sh -c "molecule --help"
# Установка зависимостей из requirements.yml
dependencies:
docker compose run --rm ansible-molecule sh -c "ansible-galaxy role install -r /workspace/requirements.yml"
# Создание новой роли с помощью Molecule
create:
docker compose run --rm ansible-molecule sh -c "molecule create"
# Шифрование файла с помощью Ansible Vault
encrypt:
docker compose run --rm ansible-molecule sh -c "ansible-vault encrypt --vault-password-file /workspace/$(VAULT_PASSWORD_FILE) /workspace/role/$(FILE)"
# Расшифровка файла с помощью Ansible Vault
decrypt:
docker compose run --rm ansible-molecule sh -c "ansible-vault decrypt --vault-password-file /workspace/$(VAULT_PASSWORD_FILE) /workspace/role/$(FILE)"
# Просмотр зашифрованного файла
view:
docker compose run --rm ansible-molecule sh -c "ansible-vault view --vault-password-file /workspace/$(VAULT_PASSWORD_FILE) /workspace/role/$(FILE)"
# Запуск роли на реальных серверах
deploy:
docker compose run --rm ansible-molecule sh -c "ansible-playbook -i $(INVENTORY) $(PLAYBOOK) --vault-password-file /workspace/$(VAULT_PASSWORD_FILE)"
####################################################################################################
# Работа с 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)