PRIMETEKNOLOJI
 AGILE & OPEN JAVA
AGILE Solutions
 
Build Automation and Continuous Integration Eğitimi

Sürekli entegrasyon pratiği özetle ekibin geliştirdiği ve versiyon kontrole eklediği kodların otomatik olarak entegrasyon kurulumu sürecine tabi tutulmasıdır. Entegrasyon kurulumu kodların derlenmesi, testlerin çalıştırılması, kodlama standartlarının kontrolü, uygulamayı deploy etmek için gereken dosyaların hazırlanması ve kurulum sonuçlarının raporlanması gibi adımlardan oluşur. Her kod değişikliğinde binlerce otomatik test çalıştırılır ve bir problem çıktığında tüm ekip problemden haberdar edilir. Tüm bu işlem insan müdahalesi olmadan otomatik olarak işler ve maliyeti yoktur. Probleme neden olan kod değişikliği düzeltilip versiyon kontrole eklendikten sonra entegrasyon sunucusu değişikliği tespit eder ve tekrar bir kurulum başlatır ve sonuçları tekrar raporlar. Bu pratiğin uygulanması için sürekli entegrasyon sunucuları (CruiseControl, TeamCity gibi) ' nın kurulumu , tek aşamalı otomatik kurulumlar gerekir. Ayrıca ekibin çalışma yöntemlerinde de bazı değişiklikler gerekir örneğin kurulum kırıldığında tüm öncelik problemin düzeltilmesidir ve son değişikliği yapan yani kurulumu bozan problemi düzeltmekten sorumludur.

Bu pratiğin avantajları şöyledir.

  • Kod değişikliklerinin mevcut fonksiyonalitede bir probleme neden olmadığından emin olunur.
  • Projenin deployment aşamalarında büyük zaman kayıplarına yol açan entegrasyon problemleri yaşanmaz
  • Proje her an deployment a hazırdır.
  • Kodlama standartları, tasarım metrikleri, test kapsam raporları gibi kontroller otomatik olarak yapılır.
  • Ekip daha disiplinli birkaç saat aralıklarla checkin ler yaparak çalışır.
  • Kolay ve risksiz kurulumların sağlanması. Projenin her an kuruluma hazır olması
  • Kısa aralıklarla sürekli yazılım teslimlerinin yapılabilmesi

Bu eğitimin ana başlıkları Build Automation ve Continuous Integration konularıdır. Önce Ant, Maven, Nant gibi araçları kullanarak tek satır bir komutla bir projenin kodlarının derlenmesi, testlerinin çalıştırılması, standartların kontrolü, kodlarla ilgili tasarım, test kapsam gibi raporların hazırlanması, deployment in yapılması gibi konular işlenecek. Bu araçların kullanımındaki endüstrinin deneyimleri ile ortaya çıkan iyi pratikler paylaşılacak. Sonrasında CruiseControl gibi araçlar kullanılarak sürekli entegrasyon ortamı kurulacak ve versiyon kontrolle entegrasyonu , raporlama yöntemleri gibi konularla ilgili çalışmalar yapılacaktır Detaylı içeriği aşağıda bulabilirsiniz.

Eğitimci

Eğitimcimiz Cenk Çivici 2001 yılından beri Amerika'da ve Ingiltere'de Fortune 500 şirketler için yapılan projelerde Agile pratiklerin kullanımı ile ilgili olarak danışmanlık yapmaktadır. Bu pratiklerin kullanımı konusunda lider Thoughtworks firmasında Senior Consultant olarak görev almıştır. Halen Londra ' da danışmanlık faaliyetlerine devam etmektedir.Türkiye 'de Prime teknoloji bünyesinde Agile süreçler ve pratikleri konusunda eğitimler vererek yurtdışında kazandığı deneyimleri Türk şirketleri ile paylaşmayı amaçlamaktadır.

Süre

Eğitim süresi 2 gündür.

Build Automation Continuous Integration Eğitimi - İçerik

Continuous Integration

  • Continuous Integration mechanics
  • Agile practice : Release often
  • Integration risks
  • Eliminate Waste : Repetitive tasks
  • Benefits of Continuous Integration
  • Low defects, Project Visibility, Deployable Anytime,No integration cost
  • Team Ethics
  • Integration process
  • Terms of trade
  • Building at every change.
  • How good teams apply Continuous Integration daily?
  • Source Repository-version management
  • Self Testing Build : Continuous Testing
  • Continuous Inspection and feedback
  • Testing phases in the build: Unit,Integration,Acceptance
  • Generating reports: Coding Standards, Test Coverage, Javadoc,DbSchema etc
  • Automating Deployment
  • Build artifacts
  • Scheduling builds
  • Keeping the build fast- good practices
  • One click releases
  • Build monitoring
  • Build Management Roles
  • Scaling Continuous Integration, Build pipelines
  • Continuous Integration mechanics
  • Continuous Integration tools : CruiseControl family
  • Build Automation tools : Ant , Nant
  • Integrating test coverage, coding standards, testing, deployment tools
  • Database change management
  • Continuous Integration mechanics
  • Introducing Continuous Integration to a team
  • Assessment of different CI tools
  • Real Life Project Experiences from small to large scale projects
  • Workshops to setup and create a CI environment, team practices