Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Continuous delivery: cél a működő szoftver

Hasonló előadás


Az előadások a következő témára: "Continuous delivery: cél a működő szoftver"— Előadás másolata:

1 Continuous delivery: cél a működő szoftver
Visual Studio 4/16/2017 Application Lifecycle Management konferencia Continuous delivery: cél a működő szoftver Csutorás Zoltán, Novák István, Farkas Bálint, Érsek Attila, Kőnig Tibor © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Kódépítés: kész termék minden pillanatban
4/16/2017 Kódépítés: kész termék minden pillanatban Érsek Attila, Novák István © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Folyamatos integráció
Tesztek Bot és ágak Miről lesz szó?

4 A halogatás művészete A szoftverfejlesztésnek szerves része a tesztelés és a visszajelzés. A fejlesztőknek a halogatás. Mik a tipikus formái a halogatásnak? „Code Freeze” / „Check-In Stop” Waterfall, vagy újabban: „Scrumfall” Késői integráció, elkésett tesztelés A fejlesztési folyamatnak nem része a visszajelzés a kihelyezés és konfiguráció

5 Az utolsó előtti pillanat is mindig túl késő!

6 A folyamatos integráció pillérei
„Tedd vagy ne tedd, de ne próbáld!” - Yoda Közös kód forrás Automatizált kódépítés Öntesztelő Build folyamat Hibák azonnali javítása Gyors Build Tesztelés valódi környezetben Átláthatóság Automatizált kihelyezés

7 A Build automatizálás segít megválaszolni a nehéz kérdéseket
Lesz termék a kódunkból? Időben vagyunk-e? Megfelelő minőséget állítunk ellő? Az automatikus buildek adják a csapat pulzusát!

8 A folyamatos áramlás csapat felelősség
Gyakori hibák Készlet halmozás Félkész feature Teszteletlen kód Automatizálás hiánya Felelősség hiánya

9 Folyamatos integráció
Több mint az eszközök összessége, sokkal inkább: Csapat habitus és együttműködés Gördülékeny folyamatok alkalmazása Törekedés a mindig értékes állapotra Igény a jobb minőségre

10 Demo Younderwater Build-ek Visual Studio 4/16/2017
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 A tesztelés helye a kódépítésben
Tesztek típusa: Unit Integrációs Smoke Manuális …… (whatevr) Tesztek valódi típusai: gyors / lassú egyszerű / komplex pozitív / negatív A tesztelés a fejlesztőknél kezdődik!

12 Think, Red, Green, Refactor, Repeat
#1 Gondolkozz, hogy milyen teszt a legjobb lépés a kódod késszé válásához #2 Írj egy pár tesztet, amennyit még átlátsz. #3 Módosítsd a kódod, hogy a tesztek sikeresek legyenek #4 Most már bátran refaktorálhatsz #5 if(!Developer.Instance.Tired) continue;

13 Behavior Driven Development
Feature: DiveLog As a scuba diver or a diver-to-be I want to log my dives @divelogentry Scenario: Registering a divelog with illegal data Given the user has entered the following values: | BottomTime | Comment | Date | DiveSite | Location | MaxDepth | | | "test" | " " | "test" | "test" | | When the user press save Then the user is presented with an error message

14 Demo Tesztelés Visual Studio 4/16/2017
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Decentralizált Attila subteam fetch subteam fetch Bálint subteam fetch
István

16 Decentralizált és mégis centralizált
Attila subteam fetch Bálint remote origin István

17 Branch kezelés alapjai
origin/master master A B C I’ll use the orange box to indicate where the master pointer is on the remote server. Here we are as before with our local master branch and the remote master branch both pointing at (A) bugfix-1 git branch bugfix-1 git checkout bugfix-1 git commit (*2) git push origin bugfix-1

18 Branch kezelés alapjai
origin/master master origin/master A D B C But in fact there are two versions of the orange master pointer. One is what we last know about the upstream master and the other is what is actually up there (which we don’t know about). bugfix-1

19 Branch kezelés alapjai
origin/master master A D B C But in fact there are two versions of the orange master pointer. One is what we last know about the upstream master and the other is what is actually up there (which we don’t know about). bugfix-1 git checkout master git pull origin

20 Branch kezelés alapjai
Merge flow? vagy Rebase flow?

21 Branch kezelés alapjai – Merge flow
origin/master master A D E B C But in fact there are two versions of the orange master pointer. One is what we last know about the upstream master and the other is what is actually up there (which we don’t know about). bugfix-1 git checkout master git merge bugfix-1 git push origin

22 Branch kezelés alapjai – Rebase flow
origin/master master A B C D’ bugfix-1 But in fact there are two versions of the orange master pointer. One is what we last know about the upstream master and the other is what is actually up there (which we don’t know about). origin/bugfix-1 git checkout master git rebase bugfix-1 git push origin

23 Demo Pull Request Visual Studio 4/16/2017
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 Visual Studio 4/16/2017 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 A szoftver kibocsátása: automatizált és ellenőrzött folyamat
4/16/2017 A szoftver kibocsátása: automatizált és ellenőrzött folyamat Érsek Attila © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 Tematika Agilis szoftver kibocsátás Környezetek könnyedén
Automatizálj! Ellenőrzött folyamatok

27 A release folyamat tipikus problémái
Szoftver verzió kihelyezése manuálisan Valós környezetbe való kihelyezés csak a fejlesztés végén A környezet és szoftver konfigurációja nem része a kihelyezésnek

28 A gyakorlás az út a tökéletességhez
Az agilis út Minden változásról visszajelzés kell A visszajelzések a lehető leghamarabb meg kell hogy érkezzenek A visszajelzésekre reagálni kell Csapatok erősítése Hibák csökkentése Nincs „Release stressz” Rugalmasság A gyakorlás az út a tökéletességhez

29 A Younderwater környezetek
Dev Quality Assurance Production

30 Demo A Younderwater környezet Visual Studio 4/16/2017
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 A DevOps alapok Younderwater App 2) Code Repository 1) Develop
3) Build 4) Test 5) Deploy Younderwater App Azure 6) Monitor and Improve

32 Sprint Sprint Automatizálj! Operate Define Fejlesztés Felügyelet
Visual Studio 2012 4/16/2017 PRODUCT BACKLOG RELEASE PIPELINE Sprint Felügyelet Define Deliver Operate Fejlesztés Sprint CUSTOMERS Leszállítás Automatizálj! Kaotikus Komplex Hiba érzékeny © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33 Hogyan működik? (IaaS) TFS RM Web RM Desktop DEV RM Server QA
Visual Studio 2012 4/16/2017 Hogyan működik? (IaaS) RM Web RM Desktop DEV TFS Drop Location RM Server QA © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

34 Hogyan működik? (PaaS) PaaS TFS RM Web RM Desktop DEV RM Server /
Visual Studio 2012 4/16/2017 Hogyan működik? (PaaS) RM Web RM Desktop PaaS DEV TFS Drop Location RM Server / RM Online Proxy QA © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

35 Demo Kódépítés és kibocsátás Visual Studio 4/16/2017
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

36 Automatizált kibocsátás
Visual Studio 2012 4/16/2017 Automatizált kibocsátás Teljes követhetőség Felügyelt és jóváhagyott folyamatok Egyformán, megismételhetően Minden környezetre DEV QA PROD TFS © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

37 A kibocsátás folyamata
Jóváhagyási folyamat Minden része felügyelt Jóváhagyás Értesítések Manuális tesztek Tesztek Automata tesztek Teszt adatok Konfiguráció App Telepítés Konfiguáricó Infra Létrehozás

38 A pár dolog, amire emlékezz
Alkalmazás életciklusnak része a kibocsátás Az automatizált folyamatok a barátaid Deklaratív kibocsátási folyamat és konfiguráció kezelés Egy kattintásos kihelyezés bármilyen környezetbe Egységes menedzsment réteg A megszokott eszközökkel és módszerekkel, függetlenül attól, hogy mit használsz

39 Visual Studio 4/16/2017 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Letölteni ppt "Continuous delivery: cél a működő szoftver"

Hasonló előadás


Google Hirdetések