Sobes.tech
Middle+

Bamboo ile ilgili deneyiminiz nedir ve projelerinizde ne kadar derinlemesine kullandınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

3 yıldan fazla. Bamboo'yu iki projede ana CI/CD aracı olarak kullandım, Jira ve Bitbucket entegrasyonu dahil.

Kullanım alanları:

  • Derleme: Java (Maven, Gradle), Node.js (npm), Python (pip) için derleme planlarının yapılandırılması. Paralelleştirme ve ölçeklendirme için derleme ajanlarının (Dedicated Agents, Remote Agents) kullanımı.
  • Test: JUnit, Mocha/Jest, Pytest ile entegrasyon. Derlemeden sonra otomatik birim, entegrasyon ve fonksiyonel testlerin çalıştırılması. Test sonuçlarının analizi ve raporlama ayarları.
  • Dağıtım: Farklı ortamlar (Geliştirme, Staging, Üretim) için otomatik artefakt dağıtımı amacıyla Deployment Projects oluşturulması. Gerekli adımların (resim çekme, konteyner çalıştırma, script çalıştırma) gerçekleştirilmesi için Deployment Stages ve Tasks kullanımı. Zero-downtime dağıtım ayarları.
  • Yapılandırma yönetimi: Plan ve Deployment Variables, Secret Variables ile çalışma. Konfigürasyon depoları (Vault) ile etkileşim için görevlerin kullanımı.
  • Tetikleyiciler: Repositedeki değişiklikler (Bitbucket webhook), zamanlamaya göre ve manuel başlatma ile otomatik tetikleyicilerin ayarlanması.
  • Eklentiler: Docker, SonarQube, Slack gibi entegrasyonlar için çeşitli eklentilerin kullanımı. Gerektiğinde özel görevlerin geliştirilmesi.
  • İzleme ve günlük kaydı: Görevlerin ve planların izlenmesi. Sorun giderme için logların analizi.

Bamboo'da dağıtım görevi örneği:

# Bamboo Deployment Projesinde bir adım örneği
deploymentTasks:
  - task: "Script" # Görev tipi
    description: "Docker imajını çek ve konteyneri çalıştır"
    script: |
      docker pull my-registry/my-app:${bamboo.build.number} # Bamboo değişkeni
      docker stop my-app || true # Eski konteyneri durdur
      docker rm my-app || true # Eski konteyneri kaldır
      docker run -d --name my-app -p 80:80 my-registry/my-app:${bamboo.build.number}
    shell: "/bin/bash"

Bamboo değişkenleri kullanarak dağıtımı uyarlama:

# Bamboo Plan veya Deployment Projesinde değişkenlerin tanımı
myServiceHost=myservice.dev.example.com
databasePassword=password123 # Gizli değişken örneği

Bamboo'yu kullanarak karmaşık CI/CD pipeline'ları oluşturdum, bunlar derleme, test, kod kalitesi analizi, Docker imajları oluşturma, depolara yayınlama ve otomatik olarak çeşitli ortamlara dağıtımı içeriyor. Bamboo'da derleme ve dağıtım sorunlarını giderme konusunda deneyimliyim.