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

Check Computer Object is Alive On Domain

Powershell'in gücü system admin rolündeki kişiler için tartışılmaz. Zaman zaman üzerinde aging tanımı olmayan ortamlarda, düzgün yönetilemeyen domain ve dns ortamlarında aslında kapalı olan ve kapalı olmamasına rağmen domainden düşmüş computer objelerinin tespit edilebilmesi için aşağıdaki gibi bir script geliştirmiştim. Umarım faydası olur, her türlü ek geliştirme için hakkiogretmen@gmail.com adresine mail atabilirsiniz. Import-Module ActiveDirectory $myServers = @("servers") If (Test-Path "D:\Temp\PasswordLastSetResult.txt"){ Remove-Item "D:\Temp\PasswordLastSetResult.txt" } $Servers_OU =  "OU=ServersOU,OU=ABCServersOU,DC=mydomain,DC=dmn,DC=com" foreach ($myserver in $myServers)         {         $mycomp = Get-ADComputer –SearchBase $Servers_OU –SearchScope SubTree -Filter { OperatingSystem -like "Windows Server*"} -Properties PasswordLastSet,IPv4Address | Select * | Where-Object {$_.Name -eq $myserver} trap [Syste...

Powershell Kullanarak Windows Features Yönetimi (Import And Export)

Bu yazı Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 ve Windows Server 2016 işletim sistemleri üzerinde kullanılabilecek bilgiler içerir. Yazıyı okumaya başlamadan önce yazı içerisinde kullanılacak Get-WindowsFeature ve Add-WindowsFeature cmdletleriyle ilgili detaylı bilgileri inceleyebilirsiniz. Kendi ortamınızda test yapmadan önce ServerManager modülünü import etmelisiniz, Import-Module cmdlet için de yine MSDN üzerindeki bilgilerden faydalanabilirsiniz. Umarım faydalı bir yazı olmuştur. Birden fazla sunucuya benzer kurulumları yapmak istediğimizde karşımıza operasyonel zorluklar çıkabiliyor. Bu işlemleri hızlandırmanın & standart bir hale getirmenin bir çok yolu var ancak bu yazıda bir sunucu üzerinde kurulu Windows Feature'ların powershell ile toplanarak, diğer bir sunucuda kurulması için en basit olduğunu düşündüğüm yöntemi paylaşacağım. İlk olarak servermanager modülünün Powershell sessionımıza import edilmesi gerekmekted...

Windows Feature Batch Deployment

Aşağıdaki function ile bir sunucu üzerinde oluışturduğumuz configuration file dosyası ile uzak lokasyondaki birden çok sunucuya yükleme yapabiliriz. Umarım faydalı olur, her türlü ek geliştirme için hakki.ogretmen@gmail.com adresine mail atabilirsiniz. function Invoke-WindowsFeatureBatchDeployment { param ( [parameter(mandatory)] [string[]] $ComputerNames, [parameter(mandatory)] [string] $ConfigurationFilePath ) # Deploy the features on multiple computers simultaneously. $jobs = @() foreach($ComputerName in $ComputerNames) { $jobs += Start-Job -Command { Install-WindowsFeature -ConfigurationFilePath $using:ConfigurationFilePath -ComputerName $using:ComputerName -Restart } } Receive-Job -Job $jobs -Wait | Select-Object Success, RestartNeeded, ExitCode, FeatureResult }