Добавил инициализацию make init

This commit is contained in:
2025-03-17 14:21:40 +03:00
parent dc43db99cc
commit d03d83cd3e
4 changed files with 76 additions and 54 deletions

103
Makefile
View File

@@ -24,38 +24,51 @@ endif
view create edit show delete test lint deploy new:
@true
####################################################################################################
# Инициализация новой роли
####################################################################################################
init:
@echo "Шаг 1: Создание Docker-образа..."
@make docker build
@echo "Шаг 2: Создание нового vault-файла с паролем..."
@read -p "Введите пароль для vault: " VAULT_PASSWORD; \
echo "$$VAULT_PASSWORD" > vault-password.txt; \
make vault create
@echo "Шаг 3: Создание новой роли..."
@make role new
####################################################################################################
# Управление контейнерами с помощью docker compose или docker run
####################################################################################################
# Сборка docker-образов
build:
cp ~/.ssh/id_rsa .
ifeq ($(RUN_MODE), docker-compose)
docker compose build $(c)
else
docker build -t $(REGISTRY)/ansible/$(IMAGE) .
endif
rm id_rsa
# Пересборка docker-образов
rebuild:
cp ~/.ssh/id_rsa .
ifeq ($(RUN_MODE), docker-compose)
docker compose build --no-cache $(c)
else
docker build --no-cache -t $(REGISTRY)/ansible/$(IMAGE) .
endif
rm id_rsa
# Удаление docker-контейнеров с полной очисткой неактивных контейнеров
prune:
docker system prune -af
release:
cp ~/.ssh/id_rsa .
docker login $(REGISTRY)
docker buildx build -t $(REGISTRY)/ansible/$(IMAGE):$(TAG) --platform linux/amd64,linux/arm64 --push .
rm id_rsa
docker:
@case "$(word 2, $(MAKECMDGOALS))" in \
build) \
cp ~/.ssh/id_rsa .; \
if [ "$(RUN_MODE)" = "docker-compose" ]; then \
docker compose build $(c); \
else \
docker build -t $(REGISTRY)/ansible/$(IMAGE) .; \
fi; \
rm id_rsa;; \
rebuild) \
cp ~/.ssh/id_rsa .; \
if [ "$(RUN_MODE)" = "docker-compose" ]; then \
docker compose build --no-cache $(c); \
else \
docker build --no-cache -t $(REGISTRY)/ansible/$(IMAGE) .; \
fi; \
rm id_rsa;; \
prune) \
docker system prune -af;; \
release) \
cp ~/.ssh/id_rsa .; \
docker login $(REGISTRY); \
docker buildx build -t $(REGISTRY)/ansible/$(IMAGE):$(TAG) --platform linux/amd64,linux/arm64 --push .; \
rm id_rsa;; \
*) echo "Unknown action. Available actions: build, rebuild, prune, release";; \
esac
####################################################################################################
# Работа с ролью
@@ -104,15 +117,23 @@ role:
####################################################################################################
# Работа с 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
git:
@case "$(word 2, $(MAKECMDGOALS))" in \
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;; \
new) \
read -p "Введите имя новой ветки (без префикса cluster-): " BRANCH_NAME; \
NEW_BRANCH="cluster-$$BRANCH_NAME"; \
git checkout -b $$NEW_BRANCH; \
echo "Создана и переключена на новую ветку: $$NEW_BRANCH";; \
*) echo "Unknown action. Available actions: push, pull, cluster-branch";; \
esac

View File

@@ -6,10 +6,16 @@
На вашей машине вам необходимо сбилдить образ, где будут запускаться все роли через docker-compose.
- **make build** - создание контейнера
- **make rebuild** - пересоздание контейнера, если были внесены изменения в Dockerfile
- **make prune** - очистить систему от лишних образов
- **make release** - собирает образ контейнера и пушит его в докер реджистри
Это можно сделать самостоятельно:
- **make docker build** - создание контейнера
- **make docker rebuild** - пересоздание контейнера, если были внесены изменения в Dockerfile
- **make docker prune** - очистить систему от лишних образов
- **make docker release** - собирает образ контейнера и пушит его в докер реджистри
Или ввести команду:
- **make init** - которая создаст файл секретов с паролем. Сбилдит образ. И создаст новую роль.
### Работа с ролью
- **make role new** - создать новую роль из шаблона. Название роли пишется на английском, описание роли на любом языке
@@ -31,8 +37,9 @@
### Работа с Git
- **make push** - запушить изменения. С выбором ветки и вводом коммита.
- **make pull** - получить изменения из репы
- **make git push** - запушить изменения. С выбором ветки и вводом коммита.
- **make git pull** - получить изменения из репы
- **make git new** - создание нового брэнча имя cluster-branch_name для IaC подхода.
### Добавить свой образ контейнера для тестов

View File

@@ -1,4 +1,4 @@
---
- name: Пример таски
debug:
msg: "Привет! Я запустился на Debian/Ubuntu! Переменная role_test равна {{ role_test }}"
msg: "Привет! Я запустился на Debian/Ubuntu!"

View File

@@ -1,6 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
64643732316637616663343739653439343061343163633365653364303163616365323038633733
6331663939323536363830643332343434316265643363370a653034323061303632353163663362
33353639336631633663643337356238333631363166643961346431633137356236323562363361
3431366263393334300a303461643261363465613931633061366635623162353664343264393932
35653434646636663831623431656231393630616331623863643132663466323636