Добавил инициализацию 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: view create edit show delete test lint deploy new:
@true @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 compose или docker run
#################################################################################################### ####################################################################################################
# Сборка docker-образов docker:
build: @case "$(word 2, $(MAKECMDGOALS))" in \
cp ~/.ssh/id_rsa . build) \
ifeq ($(RUN_MODE), docker-compose) cp ~/.ssh/id_rsa .; \
docker compose build $(c) if [ "$(RUN_MODE)" = "docker-compose" ]; then \
else docker compose build $(c); \
docker build -t $(REGISTRY)/ansible/$(IMAGE) . else \
endif docker build -t $(REGISTRY)/ansible/$(IMAGE) .; \
rm id_rsa fi; \
rm id_rsa;; \
# Пересборка docker-образов rebuild) \
rebuild: cp ~/.ssh/id_rsa .; \
cp ~/.ssh/id_rsa . if [ "$(RUN_MODE)" = "docker-compose" ]; then \
ifeq ($(RUN_MODE), docker-compose) docker compose build --no-cache $(c); \
docker compose build --no-cache $(c) else \
else docker build --no-cache -t $(REGISTRY)/ansible/$(IMAGE) .; \
docker build --no-cache -t $(REGISTRY)/ansible/$(IMAGE) . fi; \
endif rm id_rsa;; \
rm id_rsa prune) \
docker system prune -af;; \
# Удаление docker-контейнеров с полной очисткой неактивных контейнеров release) \
prune: cp ~/.ssh/id_rsa .; \
docker system prune -af docker login $(REGISTRY); \
docker buildx build -t $(REGISTRY)/ansible/$(IMAGE):$(TAG) --platform linux/amd64,linux/arm64 --push .; \
release: rm id_rsa;; \
cp ~/.ssh/id_rsa . *) echo "Unknown action. Available actions: build, rebuild, prune, release";; \
docker login $(REGISTRY) esac
docker buildx build -t $(REGISTRY)/ansible/$(IMAGE):$(TAG) --platform linux/amd64,linux/arm64 --push .
rm id_rsa
#################################################################################################### ####################################################################################################
# Работа с ролью # Работа с ролью
@@ -104,15 +117,23 @@ role:
#################################################################################################### ####################################################################################################
# Работа с Git # Работа с Git
#################################################################################################### ####################################################################################################
push: git:
git branch @case "$(word 2, $(MAKECMDGOALS))" in \
@read -p "Выберите ветку для пуша: " BRANCH; \ push) \
read -p "Введите описание коммита: " COMMIT; \ git branch; \
commitname=$$COMMIT; \ read -p "Выберите ветку для пуша: " BRANCH; \
git add . ; \ read -p "Введите описание коммита: " COMMIT; \
git commit -m "$$commitname"; \ commitname=$$COMMIT; \
git push -u origin $$BRANCH; \ git add . ; \
echo "Изменения внесены в Git" git commit -m "$$commitname"; \
git push -u origin $$BRANCH; \
pull: echo "Изменения внесены в Git";; \
git pull 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. На вашей машине вам необходимо сбилдить образ, где будут запускаться все роли через docker-compose.
- **make build** - создание контейнера Это можно сделать самостоятельно:
- **make rebuild** - пересоздание контейнера, если были внесены изменения в Dockerfile
- **make prune** - очистить систему от лишних образов - **make docker build** - создание контейнера
- **make release** - собирает образ контейнера и пушит его в докер реджистри - **make docker rebuild** - пересоздание контейнера, если были внесены изменения в Dockerfile
- **make docker prune** - очистить систему от лишних образов
- **make docker release** - собирает образ контейнера и пушит его в докер реджистри
Или ввести команду:
- **make init** - которая создаст файл секретов с паролем. Сбилдит образ. И создаст новую роль.
### Работа с ролью ### Работа с ролью
- **make role new** - создать новую роль из шаблона. Название роли пишется на английском, описание роли на любом языке - **make role new** - создать новую роль из шаблона. Название роли пишется на английском, описание роли на любом языке
@@ -31,8 +37,9 @@
### Работа с Git ### Работа с Git
- **make push** - запушить изменения. С выбором ветки и вводом коммита. - **make git push** - запушить изменения. С выбором ветки и вводом коммита.
- **make pull** - получить изменения из репы - **make git pull** - получить изменения из репы
- **make git new** - создание нового брэнча имя cluster-branch_name для IaC подхода.
### Добавить свой образ контейнера для тестов ### Добавить свой образ контейнера для тестов

View File

@@ -1,4 +1,4 @@
--- ---
- name: Пример таски - name: Пример таски
debug: 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