- Восстановлены команды make role в Makefile - Создана папка ci-cd/ для CI/CD конфигурации - Перенесены GitLab файлы в ci-cd/ - Перенесены Dockerfile'ы в ci-cd/dockerfiles/ - Удален корневой requirements.yml - Удалена пустая папка vars/ - Создана документация ci-cd/README.md - Обновлен README.md с информацией о CI/CD Изменения: - Восстановлены команды: make role list|create|edit|test|lint|deploy|info - Создана структура ci-cd/ с GitLab CI/CD - Перенесены Dockerfile'ы для разных ОС - Добавлена документация по CI/CD - Обновлена структура проекта в README.md Новая структура: - ci-cd/ - CI/CD конфигурация - ci-cd/gitlab/ - GitLab Runner - ci-cd/dockerfiles/ - Dockerfile'ы - ci-cd/.gitlab-ci.yml - GitLab CI/CD - ci-cd/README.md - документация CI/CD Преимущества: - Организованная структура проекта - Восстановлена функциональность ролей - Готовые примеры CI/CD - Документация по настройке - Разделение ответственности Автор: Сергей Антропов Сайт: https://devops.org.ru
40 lines
1.3 KiB
Docker
40 lines
1.3 KiB
Docker
# Используем готовый образ с Ansible
|
||
FROM geerlingguy/docker-ubuntu2204-ansible:latest
|
||
|
||
# Добавляем метаданные
|
||
LABEL maintainer="Сергей Антропов <sergey@antropoff.ru>"
|
||
LABEL description="Этот Dockerfile создан для внедрения подхода IaC в Ansible."
|
||
LABEL version="0.1"
|
||
LABEL contact.website="https://devops.org.ru"
|
||
|
||
# Устанавливаем переменные окружения
|
||
ENV PYTHONUNBUFFERED=1
|
||
ENV EDITOR=nano
|
||
|
||
# Устанавливаем дополнительные зависимости Python для Molecule
|
||
RUN pip install --upgrade pip && \
|
||
pip install \
|
||
molecule \
|
||
molecule-docker \
|
||
ansible-lint \
|
||
yamllint \
|
||
docker \
|
||
&& rm -rf /root/.cache/pip
|
||
|
||
# Создаем рабочую директорию
|
||
WORKDIR /ansible
|
||
|
||
# Копируем файлы проекта
|
||
COPY . /ansible/
|
||
|
||
# Устанавливаем права на выполнение (если папка scripts существует)
|
||
RUN if [ -d /ansible/scripts ]; then chmod +x /ansible/scripts/*.sh; fi
|
||
|
||
# Устанавливаем пользователя
|
||
USER root
|
||
|
||
# Открываем порт для SSH
|
||
EXPOSE 22
|
||
|
||
# Команда по умолчанию
|
||
CMD ["/bin/bash"] |