SlideShare a Scribd company logo
ContinuousIntegrationMarcin DaczkowskiAIS.PL
Jeśli się czegoś boisz, rób to tak często jak tylko możliwe
DefinicjaZaletySchemat działania procesuSkładowe procesuNajlepsze praktykiCruise Control.NET (Demo)Agenda
Podejście do wytwarzania oprogramowania oparte o częstą integrację prac członków zespołuautomatyzację całego procesuCel: Minimalizacja ilości błędówskrócenie czasu ich wykryciaOjcowie CI:Martin Fowler Kent BeckDefinicja
Oszczędność czasuKod bazowy zawsze działaBrak lub ograniczona faza finalnej integracjiSzybkie zgłaszanie błędówAutomatyzacja tworzenia wydańZwiększona zaufanie programistówKod bazowy zawsze się budujeCiągłe testy poprawnościRedukcja ryzyka i kosztówZalety CI
„Prehistoryczne” (?) podejścieSchemat wytwarzania oprogramowania:Rozdziel zadania do pracy współbieżnej Integruj w końcowym etapie życia projektuWysokie ryzyko porażki projektu SCM (ang. SourceCode Management)Jedno repozytorium koduCzęściowa integracja podczas wgrywania zmianTechniki rozgałęziania(ang. branching)Niezbędne ale samodzielnie niewystarczające dla realizacji idei CIBonus: Rys historyczny
Metodologie Agile Bądź zwinny bo wymagania ulegną zmianieBądź elastycznyi używaj tylko tego co potrzebneeXtremeProgrammingTesty najpierwProgramowanie w parachCzęsta integracjaCzęste wydania Integracja sekwencyjnaZbiorowa odpowiedzialnośćBonus: Agile Development(Scrum, XP)
Schemat działania procesu
Schemat działania procesu (c.d.)
Repozytoria kodu z wersjonowaniemWyzwalacze budowaniaAutomatyczne budowanieSkładowe procesu(CVS, SVN, Perforce, SourceSafe)(po zmianach, zaplanowany, ręczny)(MSBuild, NMaven, Visual Studio)
Testy JednostkoweAcceptanceTestingAnaliza koduPrzegląd jakości koduMetrykiArchiwizacja wydańAutomatyczna instalacjaSkładowe procesu (c.d.)(NUnit, VS Tests)(FitNesse, Watir)(FxCop, VS CodeAnalysis, StyleCop)(Ndepend)(FTP, WebDav)(WiX)
Wytwarzanie artefaktówDokumentacjaRaporty PowiadomieniaSkładowe procesu (c.d.)(DocProject, NDoc)(Testy: Wyniki, Czasy, Pokrycie; metryki i statystyki kodu )(Mail, IM, Tray)
Jedno repozytorium koduCzęsta synchronizacja koduSzybki proces budowaniaAutomatyczna instalacjaAutomatyczne wytwarzanie artefaktówNajlepsze praktyki
DEMOCruiseControl.NET
Pytania?
http://www.martinfowler.com/articles/continuousIntegration.htmlhttp://ccnet.thoughtworks.comhttp://www.jetbrains.com/teamcity/http://www.extremeprogramming.org/rules/integrateoften.htmlZasoby

More Related Content

PDF
Ci bamboo
PPTX
Krzysztof Kędzierski: 3 braki architektury - RST CodeMeeting
PDF
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
PPT
PDF
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
PPTX
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
PPTX
[TestWarez 2017] Framework testowy aplikacji mobilnej dla systemu iOS - czy ...
PPTX
Programowanie od serca - Krzysztof Szabelski
Ci bamboo
Krzysztof Kędzierski: 3 braki architektury - RST CodeMeeting
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
[TestWarez 2017] Framework testowy aplikacji mobilnej dla systemu iOS - czy ...
Programowanie od serca - Krzysztof Szabelski
Ad

Continuous Integration