GitLab CI ile Windows ve Linux Derleme İş Akışı Oluşturma

0 Replies 1 Views
Raters
Participants
Thread Starter #1
Giriş
GitLab CI/CD, projelerde sürekli entegrasyon ve dağıtım süreçlerini otomatikleştirmenin en güçlü araçlarından biridir. Özellikle farklı işletim sistemleri üzerinde (Windows ve Linux) derleme ve test işlemleri yaparken, bu süreçleri tek bir iş akışında düzenlemek büyük avantaj sağlar. Bu noktada, farklı platformlara uygun runner'lar ve yapılandırma dosyasını (gitlab-ci.yml) doğru şekilde ayarlamak kritik hale gelir.

Çift Platform Destekli CI Yapısı
İki farklı işletim sistemi ortamını aynı anda desteklemek için, öncelikle sistemlerde uygun runner kurulumları gerçekleştirilmelidir. Linux ortamında genellikle Docker veya shell runner kullanılırken, Windows ortamında ise Windows tabanlı runner kurulumu gerekir. Bu sayede, her platforma özgü ortamlar ve araçlar kullanılabilir hale gelir. Örneğin, Linux için Docker image olarak ubuntu veya debian, Windows için ise windowsservercore veya mcr.microsoft.com/windows/servercore:ltsc2022 tercih edilir.

GitLab CI Yapılandırması
.gitlab-ci.yml dosyası, platformlara göre farklı job'lar tanımlayacak şekilde yapılandırılmalıdır. Örneğin:

CODE
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
stages:
[list]
[*]build
[*]test
[/list]

build_linux:
  stage: build
  image: ubuntu:20.04
  tags:
[list]
[*]linux
[/list]
  script:
[list]
[*]echo "Linux derlemesi başlatılıyor..."
[*]./build-linux.sh
[/list]

build_windows:
  stage: build
  tags:
[list]
[*]windows
[/list]
  script:
[list]
[*]PowerShell -Command "& {.\build-windows.ps1}"
[/list]

test_linux:
  stage: test
  image: ubuntu:20.04
  tags:
[list]
[*]linux
[/list]
  script:
[list]
[*]./test-linux.sh
[/list]

test_windows:
  stage: test
  tags:
[list]
[*]windows
[/list]
  script:
[list]
[*]PowerShell -Command "& {.\test-windows.ps1}"
[/list]


Burada dikkat edilmesi gerekenler:
  • tags kullanarak uygun runner'ların tetiklenmesini sağlamak.
  • Linux ve Windows ortamları için farklı komut ve script'ler kullanmak.
  • Docker image veya Windows runner'ları önceden yapılandırmak.


İş Akışını Optimize Etmek
İki farklı platformda derleme ve test işlemlerini otomatik hale getirirken, bağımlılıkların ve ortamların uyumlu olması önemli. Ayrıca, paralel çalıştırma ve sonuçların merkezi izlenmesi için GitLab'ın artifact ve cache özellikleri kullanılabilir. Çift platform desteği, özellikle çapraz derleme ve platform bağımsız uygulama geliştirme süreçlerinde zaman kazandırır ve hataları erken tespit etme imkanı sağlar.

Sonuç
Farklı işletim sistemleri üzerinde otomatik derleme ve test işlemleri kurmak, doğru runner yapılandırması ve uygun yapılandırma dosyasıyla oldukça verimli hale gelir. Bu yapı, sürekli entegrasyon ve dağıtım süreçlerinin kalitesini artırırken, geliştirme döngüsünü hızlandırır.

Bu konu hakkında kendi tecrübelerinize veya kullandığınız farklı yöntemlere dair detaylar paylaşmak isteyenler, bu yapılandırmanın gerçek dünyadaki uygulamalarını tartışabilir.

You must be logged in to reply.

0 quotes selected