Sonatype Nexus Repository

Docker & Kubernetes Kurulum

Merhabalar,

Bu yazımda Docker ve Kubernetes ile Sonatype Nexus Repository kurulumunu gerçekleştircez.

Sonatype Nexus Repository: Sonatype Nexus, rpm, binary dosyaların ve derleme yapılarının çoğu için dünya çapında kullanılan popüler bir depo yöneticisidir. Gradle, Ant, Maven ve Ivy dahil olmak üzere Java Virtual Machine (JVM) ekosistemi için destekle birlikte gelir.

İlk olarak docker ile kurulumu gerçekleştiriyoruz. Docker compose dosyamız aşağıda görüldüğü gibidir.

docker-compose -f docker-compose-nexus.yaml up -d

Komutuyla uygulamızı çalıştıralım.

docker ps veyadocker-compose -f docker-compose-nexus.yaml ps

Son olarak log’una bakalım.

docker logs -f nexusveyadocker-compose -f docker-compose-nexus.yaml logs -f

Uygulamız başarılı şekilde başladığını loglardan görebiliyoruz. Tarayıcıdan “192.168.1.23:8081” gittiğimizde,

Admin şifresi için,

docker exec -it container_name bashcat /nexus-data/admin.password
Username : adminPassword: 9d71f717–73e9–4787–9fdf-315ff324e8ec

Login olduktan sonra admin şifresini değiştirebilirsiniz.

Son olarak da silmek için,

docker-compose -f docker-compose-nexus.yaml down -v

Şimdi de Sonatype Nexus Repository kubernetes ile kuralım. Bunun için ilk olarak minikube start etmekle başlıyoruz.

minikube start --cpus=4 --memory=8000

Eğer sisteminizde minikube yüklü değil ise diğer yazımdan minikube kurulumunu yapabilirsiniz.

İlk olarak namespace oluşturuyoruz.

kubectl apply -f Nexus-Namespace.yamlkubectl get ns

Şimdide Deployment için persistent volume ve persistent volume claims objelerimizi oluşturalım.

kubectl apply -f Nexus-pv-pvc.yamlkubectl get pv -n nexuskubectl get pvc -n nexus

Persistent Volume objemiz Persisten Volume Claims objemize bound olduğuna göre şimdide deployment bakalım.

kubectl apply -f Nexus-Deployment.yamlkubectl get deployments.apps -n nexuskubectl get pods -n nexus

Deployment’ımızda oluştuğuna göre şimdide service yazarak nexus dışarıya açalım.

kubectl apply -f Nexus-Service.yamlkubectl get svc -n nexus

Service objemizde oluştuğuna göre şimdide pod’umuzun loglarına bakalım.

kubectl logs -n nexus -f pod_name

Nexus start ettiğini gördüğümüze göre.

minikube service list

Tarayıcında “192.168.2.49:32000” gittiimizde,

admin şifresini almak için,

kubectl exec -it -n namaspace_name pod_name --bash

Admin şifresi ile giriş yapıp değiştirdikten sonra artık artifact’leriniz nexus’a gönderebilirsiniz.

--

--

Medium independent DevOps publication. Join thousands of aspiring developers and DevOps enthusiasts

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store