feat: Добавлен пресет all-images и установка sudo во все Dockerfile
- Создан пресет all-images для тестирования всех 9 образов - Добавлен sudo во все Dockerfile образы - Настроены sudoers для root и пользователей - Упрощен site.yml (убрана установка sudo) - Добавлена документация для пресета all-images - Обновлен Makefile с поддержкой нового пресета - Исправлена проблема с Parsec в Astra Linux - Улучшена система очистки контейнеров Пресет all-images включает: - Debian-based: Ubuntu, Debian, Alt Linux, Astra Linux - RHEL-based: CentOS, RHEL, AlmaLinux, Rocky Linux, RedOS - Уникальные порты 8080-8088 - Переменные окружения TEST_OS и TEST_FAMILY
This commit is contained in:
58
scripts/update-dockerfiles-sudo.sh
Normal file
58
scripts/update-dockerfiles-sudo.sh
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# Скрипт для добавления sudo во все Dockerfile
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "🔧 Добавление sudo во все Dockerfile..."
|
||||
|
||||
# Список всех Dockerfile для обновления
|
||||
DOCKERFILES=(
|
||||
"dockerfiles/ubuntu/Dockerfile"
|
||||
"dockerfiles/debian/Dockerfile"
|
||||
"dockerfiles/alt-linux/Dockerfile"
|
||||
"dockerfiles/centos/Dockerfile"
|
||||
"dockerfiles/rhel/Dockerfile"
|
||||
"dockerfiles/alma/Dockerfile"
|
||||
"dockerfiles/rocky/Dockerfile"
|
||||
"dockerfiles/redos/Dockerfile"
|
||||
)
|
||||
|
||||
for dockerfile in "${DOCKERFILES[@]}"; do
|
||||
if [ -f "$dockerfile" ]; then
|
||||
echo "📝 Обновление $dockerfile..."
|
||||
|
||||
# Для Debian-based систем (Ubuntu, Debian, Alt Linux)
|
||||
if [[ "$dockerfile" =~ (ubuntu|debian|alt-linux) ]]; then
|
||||
# Добавляем sudo в список пакетов
|
||||
sed -i '/python3-pip \\/a\\ sudo \\' "$dockerfile"
|
||||
|
||||
# Добавляем настройку sudoers перед созданием пользователя
|
||||
sed -i '/# Создаем пользователя для Ansible/i\\
|
||||
# Настраиваем sudoers для root и пользователей\\
|
||||
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \&\& \\\\
|
||||
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test\\
|
||||
' "$dockerfile"
|
||||
fi
|
||||
|
||||
# Для RHEL-based систем (CentOS, RHEL, Alma, Rocky, RedOS)
|
||||
if [[ "$dockerfile" =~ (centos|rhel|alma|rocky|redos) ]]; then
|
||||
# Добавляем sudo в список пакетов
|
||||
sed -i '/python3-pip \\/a\ sudo \\' "$dockerfile"
|
||||
|
||||
# Добавляем настройку sudoers перед созданием пользователя
|
||||
sed -i '/# Создаем пользователя для Ansible/i\
|
||||
# Настраиваем sudoers для root и пользователей\
|
||||
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \\\
|
||||
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test\
|
||||
' "$dockerfile"
|
||||
fi
|
||||
|
||||
echo "✅ $dockerfile обновлен"
|
||||
else
|
||||
echo "⚠️ Файл $dockerfile не найден"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "🎉 Все Dockerfile обновлены!"
|
||||
Reference in New Issue
Block a user