Ana içeriğe atla

Fun With Docker.. Jenkins Edition


Docker son zamanların kaçınılmaz bir şekilde moda haline gelen teknolojisi, ben de işimin parçası olan jenkins, ansible, elastic stack yapılarını docker ile kendi ortamımda ayağa kaldırarak bazı testler yapmaya karar verdim. Bu sırada Jenkins için izlediğim yolu da sizlerle paylaşmak istedim.

Öncelikle docker for windows için community (ce) edition ‘ı download ederek bilgisayarımıza kurmamız gerekiyor. https://www.docker.com/docker-windows

Docker for Windows kurulumunu tamamladıktan sonra geriye sadece kurmak istediğimiz imajı repositoryde aratmak kalıyor.

Ben CI ve CD akışlarımda kullanmak için Jenkins’i kurmayı tercih etmiştim. Sizinle de Jenkins için kurulum ekran görüntülerini paylaşıyorum.

Öncelikle komutlarımızı çalıştırabilmek için Powershell’i run as administrator moduyla açmalıyız.
Powershell açıldıktan sonra “docker pull jenkins” yazarak enter tuşuna basmamız Jenkins imajının indirilmesi için yeterli olacaktır.



Bu aşamada pull işleminin tamamlanmasını beklemeliyiz.


Pull tamamlandıktan sonra geriye çalıştırmak kalıyor sadece, işte bu kadarJ
docker run -p 8080:8080 -p 50000:50000 jenkins


opps, her zaman o kadar kolay olmayabiliyorJ Bende önceden Jenkins kurulu olduğu için doğal olarak 8080 portunu kullanmak istediğimde hatayla karşılaştım. Bu arada 8080 portunu kullanan uygulamayı bulabilmek için aşağıdaki komutları kullanabilirsiniz..

$procID = netstat -ano | findstr 8080
$procID = $procID[0].Split(' ')[-1]
Get-Process -Id $procID

Bu seferlik Jenkins’i 8081 portuyla ile ayağa kaldıracağım.




Jenkins kurulum sırasında bizim için admin user oluşturarak parolasını consoleda gösterecek. Bu adım sırasında belirli  bir süre installation duraksıyor, paniklemeden bunu alarak uygun bir yere kaydetmeliyiz.  









Voilà.. Jenkins Docker üzerinde hizmete hazır. Jenkins kullanımı kolay bir open source uygulama, aynı zamanda bir çok ihtiyacımızı karşılayabileceğimiz esneklikte.

Uygun bir zamanımda Jenkins ile ilgili bir yazı yazabilirim umarım..



Bu arada Docker üzerinde Jenkins ile ilgili tüm detaylara https://hub.docker.com/_/jenkins/ sitesi üzerinden ulaşabilirsiniz. İyi eğlenceler....

hakkiogretmen@gmail.com


Yorumlar

  1. This image has been deprecated in favor of the jenkins/jenkins:lts image provided and maintained by Jenkins Community as part of project's release process. The images found here will receive no further updates after LTS 2.60.x. Please adjust your usage accordingly.

    YanıtlaSil
    Yanıtlar
    1. Eğer desteklenen versiyona ihtiyacınız var ise buradan faydalanabilirsiniz. Sadece pull bölümünü aşağıdaki gibi değiştirmeniz yeterli.
      https://hub.docker.com/r/jenkins/jenkins/

      docker pull jenkins/jenkins

      Sil
  2. Faydalı bir makale olmuş, eline sağlık :)

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

gMSA (group managed service account) and SQL Server

MSA (managed user account) teknolojisinin sorunlarından bir tanesi aynı MSA'i birden fazla computer objesinde kullanamamaktı. Bu nedenle de gMSA (group managed service account) duyuruldu. gMSA ile; Passwordler Active Directory tarafından yönetileceği için complex olurlar ve sık sık otomatik olarak değiştirilir (default 30 days). Passwordler 240 bytes uzunluğunda randomly şifrelenmiş olarak üretilir. Ek olarak interactive logon amaçlı kullanılamazlar, yanlış şifre girilmesi sonucunda meydana gelen lock-out olma durumuna yakalnmazlar. Şifre değişikliği sonrasında SQL Server Servisinin restart edilmesine gerek bulunmaz. Aşağıda belirtilen adımlar pre-reqlerin tamamlanmış olduğu varsayılarak step by step aktarılmıştır. Prerequisetlerle ilgili detaylı bilgilendirmeye  https://technet.microsoft.com/en-us/library/jj128431.aspx#BKMK_gMSA_Req  linkinden erişilebilir. 1-  Active Directory Users and Computers Altında Global Security Group Oluşturma gMSA 'i kullanacağımız sun

Import Active Directory Module in Powershell

Active Directory rolüne sahip olmayan bir workstation üzerinde AD yönetimi için powershell script çalıştırmak istiyorsanız öncelikle Remote Server Administration Tools feature’ini workstation üzerinde kurmalısınız. Kurulumu tamamlandıktan sonra aşağıdaki komut ile öncelikle modüller arasında ActiveDirectory modülünün olup olmadığı kontrol edilir, eğer modüller arasında ActiveDirectory modülü yoksa session bazında Import-Module cmd’letiyle Active Directory commandletleri kullanımımıza açılır. if ( -not ( Get-Module -Name ActiveDirectory -ea Continue )) { Import-Module ActiveDirectory -ea Stop } Umarım faydalı olur.  

Fun With Docker..ELK Stack- ElasticSearch

Herkese Merhaba, Fun with Docker yazı serisine ELK Stack kurulumunu aktaracak, yazı dizisi içerisinde yeni bir yazı dizisiyle devam etmeye karar verdim. Bilmeyenler için ELK, 3 ayrı open source proje olan Elasticsearch, Logstash ve Kibana projelerinin birleşiminden oluşan yine open source olarak kullanıma sunulan ve bakımı Elastic tarafından  yürütülen bir proje. Bu arada ELK Stack ile ilgili tüm detaylara  https://www.elastic.co/elk-stack  linkini kullanarak ulaşabilirsiniz.  Peki biz yazı dizisi sırasında ELK Stack ile neler yapmaya çalışacağız? Docker hostumuz (Windows 10) üzerinde File Beat kurarak, IIS Loglarını toparlayacağız. Topladığımız bu IIS loglarını container üzerinde koşan LogStash'e gönderecek ve LogStash üzerinde yaptığımız konfigürasyonlarla parse operasyonunu tamamlayıp, oluşan anlamlı datayı yine container üzeride koşan ElasticSearch 'e insert edeceğiz.  Insert ettiğimiz tüm bu log datasını ise yine container imajı olarak ayağa kaldırıp