Ответ
Да, многократно разворачивал Nexus 3 в качестве центрального артефакт-репозитория. Основные сценарии: хранение Docker-образов, Java-артефактов (Maven/Gradle), npm-пакетов и Python-пакетов.
Способы развертывания:
- Kubernetes (Helm/Manifests): Для динамичных сред. Использовал официальный образ
sonatype/nexus3, PersistentVolume для данных и Ingress для доступа.# Пример Deployment для k8s apiVersion: apps/v1 kind: Deployment metadata: name: nexus spec: replicas: 1 selector: matchLabels: app: nexus template: metadata: labels: app: nexus spec: containers: - name: nexus image: sonatype/nexus3:3.61.0 ports: - containerPort: 8081 volumeMounts: - name: nexus-data mountPath: /nexus-data volumes: - name: nexus-data persistentVolumeClaim: claimName: nexus-pvc - Docker/Docker Compose: Для быстрого развертывания в dev-средах.
- VM + Ansible: Для on-premise инфраструктуры с тонкой настройкой ОС и мониторингом.
Ключевые задачи после установки:
- Настройка репозиториев: Создание proxy-репозиториев (к Maven Central, Docker Hub), hosted-репозиториев для приватных артефактов и group-репозиториев для агрегации.
- Безопасность и RBAC: Настройка LDAP/Active Directory интеграции, создание ролей и пользователей для разных команд (dev, CI, deploy).
- Интеграция с CI/CD:
- Настройка Jenkins/GitLab Runner для публикации собранных артефактов и Docker-образов.
- Конфигурация Maven
settings.xmlи.npmrcв проектах для загрузки зависимостей из Nexus.
- Обслуживание: Настройка cleanup-политик для удаления старых артефактов (по возрасту или количеству версий), мониторинг дискового пространства, регулярные бэкапы конфигурации Blob Store.