Bu eğitimde cicd-training-1 eğitiminde Virtualbox üzerinde hazırlamış olduğumuz jenkins ve app-server sanal sunucularıyle çalışmaya devam ediyoruz.
-
APT ile gerekli paket kurulur
sudo apt install docker.io
-
Docker çalıştığını test etmek için hello-world imajıyla bir container çalıştırılır
sudo docker run --rm hello-world
-
Docker komutlarını sudo gerekmeden çalıştırabilmek için ilgili user'ları docker grubuna ekliyoruz.
sudo usermod -aG docker $USER sudo usermod -aG docker jenkins sudo systemctl restart jenkins exit
-
Kendi build ettiğimiz imajları host edebilmek için Docker registry container'ını çalıştırıyoruz.
docker run -d -p 5000:5000 --restart=always --name registry registry:2
-
Yukarıdaki bölümdeki 1, 2 ve 3. adımlar bu sunucuda da uygulanır.
-
docker-compose paketi kurulur
sudo apt install docker-compose net-tools
-
app-server sunucusundan jenkins sunucusundaki docker registry'e erişebilmek aşağıdaki ayar girilirerek docker servisi restart edilir
sudo nano /etc/docker/daemon.json
{ "insecure-registries":["jenkins:5000"] }
sudo systemctl restart docker.service
-
/etc/hosts dosyasına jenkins sunucusunun IP adresi eklenir.
-
Uygulama dizini oluşturulur
sudo mkdir /opt/cihanca-devopz sudo setfacl -m u:jenkins:wx /opt/cihanca-devopz
-
http://jenkins:8080 adresinden Jenkins'in web arayüzüne girerek pipeline oluşturarak "Pipeline script from SCM / Repository URL" kısmına bu git repository'nin adresi yazılır (https://github.com/osmanizbat/cihanca-devopz)
-
Pipeline çalıştırıldıktan sonra app-server'da ilgili containerların çalışıp çalışmadığı kontrol edilir.
docker ps docker logs cihanca-devopz_user-management_1 -f docker logs cihanca-devopz_adopt-service_1 -f
-
app-server console'unda aşağıdaki komutlarla örnek kayıt ekleme listeleme yapılır.
curl -v -H "Content-Type: application/json" -X POST http://localhost/user-management/users \ -d '{"name": "test", "email": "oizbat@gmail.com"}'
curl -v -H "Content-Type: application/json" -X GET http://localhost/user-management/users