111 lines
3.8 KiB
Makefile
111 lines
3.8 KiB
Makefile
# Переменные
|
||
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)
|