--- # ПРЕСЕТ: CI/CD пайплайн (10-15 машин) # # Описание: Полноценный CI/CD пайплайн с различными инструментами # - 1 Git сервер (Gitea) - управление кодом # - 2 CI сервера (Jenkins) - сборка и тестирование # - 1 артефакт репозиторий (Nexus) - хранение артефактов # - 1 Docker registry - хранение образов # - 2 тестовые среды (staging, production) - развертывание # - 1 мониторинг (Prometheus) - метрики пайплайна # - 1 логирование (ELK Stack) - централизованные логи # # Использование: make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/cicd.yml # # Автор: Сергей Антропов # Сайт: https://devops.org.ru docker_network: labnet images: debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy" rhel: "quay.io/centos/centos:stream9-systemd" systemd_defaults: privileged: true command: "/sbin/init" volumes: - "/sys/fs/cgroup:/sys/fs/cgroup:ro" tmpfs: - "/run" - "/run/lock" capabilities: - "SYS_ADMIN" hosts: - name: git-server group: scm family: debian publish: - "3000:3000" - name: jenkins1 group: ci family: rhel publish: - "8080:8080" - name: jenkins2 group: ci family: debian publish: - "8081:8080" - name: nexus group: artifacts family: rhel publish: - "8081:8081" - name: docker-registry group: registries family: debian publish: - "5000:5000" - name: staging group: environments family: rhel publish: - "8082:80" - name: production group: environments family: debian publish: - "8083:80" - name: monitoring group: monitoring family: rhel publish: - "9090:9090" - name: elasticsearch group: logging family: debian publish: - "9200:9200" - name: kibana group: logging family: rhel publish: - "5601:5601" - name: logstash group: logging family: debian publish: - "5044:5044"