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...

Start SQL Server in Single-User Mode

Bu yazı SQL Server start sonrasında yaşanan problemlerin önüne geçmek için SQL Server'i single user mode'da açmak istenilmesi üzerine yazılmıştır. Bunun için SQL Server startup parametrelerinden -m kullanılmalıdır. Ancak SQL Server'i bu parametreyle açtığımızda aşağıdaki durumların oluşacağını unutmamalıyız. Sadece bir user sql'e connect olabilir Checkpoint processi execute edilemez. By default, otomatik olarak açılışta çalıştırılır. Bu mode'da master dışında bir db recover edilemez. Sonrasında SQLCMD ile veritabanına connect olarak işlemlerimizi yapabiliriz. Bizim yaşadığımız casede Mirror endpointleri aradığı için SQL Server Servisi açıldıktan bir süre sonra hizmet veremez hale geliyordu. Çözüm olarak SQL Server'i Single-User mode ile açarak aşağıdaki komut ile database mirroring session silinerek, database'den mirroring özelliği kaldırılır. ALTER DATABASE DBNAME SET PARTNER OFF Faydası olması dileğiyle,

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 }