kyvykäs kehitysympäristö - työkalut kuntoon !

24
Kyvykäs kehitysympäristö - työkalut kuntoon! Sami Poimala, Offbeat Solutions #td2013fi

Upload: lester

Post on 23-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Kyvykäs kehitysympäristö - työkalut kuntoon !. Sami Poimala, Offbeat S olutions. #td2013fi. sami.poimala @ offbeat.fi. #td2013fi. Esityksen tavoitteet. Rohkaista ajattelemaan kehitysympäristön kyvykkyyttä…. …. j a kehittämään sitä! Esitellä muutama työkalu käytännössä. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kyvykäs kehitysympäristö

- työkalut kuntoon!Sami Poimala, Offbeat Solutions#td2013fi

Page 2: Kyvykäs kehitysympäristö -  työkalut kuntoon !

#td2013fi

sami.poimala @ offbeat.fi

Page 3: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Esityksen tavoitteet

1. Rohkaista ajattelemaan kehitysympäristön kyvykkyyttä….

…. ja kehittämään sitä!

2. Esitellä muutama työkalu käytännössä

Page 4: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kyvykäs kehitysympäristö?

#td2013fi

Page 5: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kyvykäs kehitysympäristö

Työn organisoint

i

Työn tekijät

Työvälineet

Tavoitteiden asettaminen Työn jakaminen

Projektinhallinta Ympäristö

Osaaminen Motivaatio

Page 6: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kyvykäs kehitysympäristö: Työvälineet

Tekniset

laitteet

Ohjelmistot

Page 7: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kyvykäs kehitysympäristö: Ohjelmistot

Pakolliset ohjelmist

otIDE

Version-

hallinta …

Työkalut

Page 8: Kyvykäs kehitysympäristö -  työkalut kuntoon !

RégisLaurentDirector of Operations, Global KnowledgeCompetencies include:Gold LearningSilver System Management

Työkalut ==Kyvykkyyttä lisäävät ohjelmistot

#td2013fi

Page 9: Kyvykäs kehitysympäristö -  työkalut kuntoon !

“Mittaa kehitysympäristösi kyvykkyys”Kolme kihelmöivää kysymystä

1. Kuinka kauan kestää kehitysympäristön pystyttäminen?

2. Kuinka usein kehitys keskeytyy – teknisestä syystä -turhaan?

3. Kuinka kauan kestää sovelluksen julkaisu?

Page 10: Kyvykäs kehitysympäristö -  työkalut kuntoon !

1. Kehitysympäristön pystyttäminen

1. Mistä löytyy lähdekoodit?2. Entä mahdollisesti tarvittavat muut

kirjastot?3. Kääntyykö projekti?4. Mitä muuta on tehtävä, ennen kuin

kehitys voi alkaa? 1. IIS:n konffaus? 2. Tietokannan perustaminen? 3. Muuta mahdollista initialisaatiota?

Page 11: Kyvykäs kehitysympäristö -  työkalut kuntoon !

2. Kuinka usein kehitys keskeytyy turhaan?1. Onko versionhallinnassa aina kääntyvä

versio?2. Tietokannan skeemaa pitäisi muuttaa.

Kriisi?3. Tämän hetkistä versiota pitäisi demota.

Koko päivä pilalla?

Page 12: Kyvykäs kehitysympäristö -  työkalut kuntoon !

3. Kuinka kauan kestää sovelluksen julkaisu?1. Version kääntäminen2. Tietokannan synkronointi3. Datakonversiot4. Asennuspaketin koostaminen

1. web.config2. .msi3. …

5. Tiedostojen kopiointi6. Release Notes

=> Mikä on sinun prosessisi?

Page 13: Kyvykäs kehitysympäristö -  työkalut kuntoon !

CASE www.futudent.c

om

Page 14: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Futudent dental HD Camera and services

14.30 @ veranda 3

Page 15: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Julkaisuarkkitehtuuri

Kehitys-ympäristöt

Versionhallinta Käännöspalvelin

Testipalvelin

Tuotantopalvelin

Käännösagentti

Tehtävien hallinta

Page 16: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Käännöskonfiguraatiot

1. Jatkuva integraatio

2. Client1. Nightly build2. Virallinen

julkaisu

3. Web1. Nightly build2. Tuotannon

päivitys

MSI:1. Ajurit2. DirectX filtteri (C++)3. WPF-softa=> Ladattavaksi web-palvelusta1. Päivitä tietokanta2. Generoi web.config3. Päivitä webbisaitti /

luo asennuspaketti

1. Koko .sln käännös

2. Ajaa yksikkötestit

Page 17: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Asiaan!Miten kaikki tämä on toteutettu?

#td2013fi

Page 18: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Keskeiset työkalut a´la Offbeat

VersionhallintaUlkoisten komponenttien hallintaKäännöstyökaluKonfiguraatiotiedostojen generointiTietokantaskeeman hallintaAsennusten skriptausJatkuva integraatio (CI)

Mercurial / GITNuGetMSBuildWeb.config transformationsFluentMigratorPowerShellTeamCity

Muuta pientä

NHibernate, AutoMapper, Autofac, Moq, xUnit, ReSharper

Julkaisuprosessi

Page 19: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Demo

#td2013fi

Page 20: Kyvykäs kehitysympäristö -  työkalut kuntoon !

TeamCity

1. Ilmainen jatkuva integraatio –palvelin1. 20 käännöskonfiguraatiota per palvelin, 3 agenttia

2. Osaa ajaa lähes mitä tahansa buildisteppejä

1. .sln, MSBuild, MSTest, CommandLine, NAnt, ladata NuGet-paketteja, PowerShell, FxCop, …

3. ”Automaattiset” artefaktit4. Toimii NuGet-serverinä, myös

autentikoidut feedit

Page 21: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Yhteenveto

#td2013fi

Page 22: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Kolme kihelmöivää kysymystä

1. Kuinka kauan kestää kehitysympäristön pystyttäminen?Þ Versionhallinta, NuGet, TeamCity,

FluentMigrator, PowerShell2. Kuinka usein kehitys keskeytyy – teknisestä syystä -turhaan?=> TeamCity, FluentMigrator, xUnit3. Kuinka kauan kestää sovelluksen julkaisu?=> MSBuild, config transforms, Team City, FluentMigrator, PowerShell

Page 23: Kyvykäs kehitysympäristö -  työkalut kuntoon !

Teesit

1. Läpimenoaika on kriittistä

2. Tuotantoasennusta on mietittävä heti projektin alussa

3. Automatisoi – mutta vasta kun tiedät mitä

4. Julkaise muutokset aina käyttäen automatisoitua asennustapaa

Page 24: Kyvykäs kehitysympäristö -  työkalut kuntoon !

© 2012 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 presentations. 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.

Kiitos ja Q&A!Email: [email protected]: @samipoimalahttp://samipoimala.com/it

PS. Tuliko mieleen ajatuksia, mitä turhia vaiheita on omassa kehitysprosessissasi?