Sonatype Nexus Repository OSS Nedir?
Sonatype Nexus Repository OSS, yazılım geliştirme süreçlerinde kullanılan, açık kaynaklı ve güçlü bir depo yönetim aracıdır. Bu platform, yazılım projelerinde kullanılan ikili dosyaların (binary) depolanması, yönetimi ve dağıtımı için tasarlanmıştır. Maven, npm, Docker, Python gibi farklı ekosistemlerdeki paketleri destekleyerek geliştiricilerin ihtiyaç duyduğu araç ve kütüphaneleri merkezi bir noktadan güvenli ve hızlı bir şekilde sağlamalarına olanak tanır. Aynı zamanda, Nexus Repository OSS, yüksek ölçeklenebilirliği ve güvenilirliği sayesinde büyük projelerde dahi etkili bir çözüm sunar.Neden Kullanırız?
Nexus Repository OSS, yazılım geliştirme süreçlerini optimize etmek ve güvenli hale getirmek için kritik bir rol oynar. Bu platform sayesinde ekipler, farklı kütüphaneleri ve bağımlılıkları merkezi bir depoda tutarak, sürüm yönetimi ve güncellemeleri daha kolay bir şekilde kontrol edebilir. Güvenlik açısından bakıldığında, depodaki bileşenleri analiz ederek kötü amaçlı veya eski versiyonların kullanılmasını önler. Ayrıca, yerel bir proxy depo görevi görerek, internet bağlantısına bağımlılığı azaltır ve dış kaynaklara erişimi hızlandırır. Sonuç olarak, Nexus Repository OSS, daha verimli bir geliştirme süreci ve güvenli bir yazılım yaşam döngüsü için vazgeçilmez bir araçtır.Nexus Docker Proxy repo oluşturulması
Çalışma Ortamı
BASH
# Sonatype Nexus Repository OSS Sunucu
IP: 192.168.1.207
Arayüz: http://192.168.1.207:8081
# Sunucu
IP: 192.168.1.208
OS: Ubuntu 24.04.1 LTS
Docker Runtime
Blob store oluşturulması
BASH
# Sonatype Nexus Repository OSS Blobstore oluşturulması
Administration > Repository > Blob Stores > Create a Blob Store
http://NEXUS_WEB_UI/#admin/repository/blobstores
Type: file
Name: dockerIO
Type: file
Name: ghcrIO
Type: file
Name: gcrIO
Type: file
Name: dockerProxyGROUP
Docker proxy repolarının oluşturulması
BASH
# Sonatype Nexus Repository OSS Docker prxoy repo oluşturulması
# docker.io
Administration > Repository > Repositories > Create Repository > docker (proxy)
Name: dockerIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ
Remote storage: https://registry-1.docker.io
Use the Nexus Repository truststore: İŞARETLE
Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1
Blob store: dockerIO
# quay.io
Administration > Repository > Repositories > Create Repository > docker (proxy)
Name: quayIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ
Remote storage: https://quay.io
Use the Nexus Repository truststore: İŞARETLE
Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1
Blob store: quayIO
# ghcr.io
Administration > Repository > Repositories > Create Repository > docker (proxy)
Name: ghcrIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ
Remote storage: https://ghcr.io
Use the Nexus Repository truststore: İŞARETLE
Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1
Blob store: ghcrIO
# dockerProxyGROUP
Administration > Repository > Repositories > Create Repository > docker (proxy)
Name: dockerProxyGROUP
HTTP: 3030
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ
Maximum component age: -1
Blob store: dockerProxyGROUP
Member repositories:
dockerIO
quayIO
ghcrIO
Docker insecure-registries eklenmesi
BASH
# docker insecure-registries eklenmesi
sudo vim /etc/docker/daemon.json
# aşağıdaki satırı ekle
{
"insecure-registries" : [ "192.168.1.207:3030" ]
}
# docker ı yeniden başlat
sudo systemctl restart docker
# kontrol edelim
docker info | grep -i regist -A10
Yorumlar