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

Preview:

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

Citation preview

Kyvykäs kehitysympäristö

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

#td2013fi

sami.poimala @ offbeat.fi

Esityksen tavoitteet

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

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

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

Kyvykäs kehitysympäristö?

#td2013fi

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

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

Tekniset

laitteet

Ohjelmistot

Kyvykäs kehitysympäristö: Ohjelmistot

Pakolliset ohjelmist

otIDE

Version-

hallinta …

Työkalut

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

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

#td2013fi

“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?

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?

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?

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?

CASE www.futudent.c

om

Futudent dental HD Camera and services

14.30 @ veranda 3

Julkaisuarkkitehtuuri

Kehitys-ympäristöt

Versionhallinta Käännöspalvelin

Testipalvelin

Tuotantopalvelin

Käännösagentti

Tehtävien hallinta

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

Asiaan!Miten kaikki tämä on toteutettu?

#td2013fi

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

Demo

#td2013fi

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

Yhteenveto

#td2013fi

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

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

© 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: sami@offbeat.fiTwitter: @samipoimalahttp://samipoimala.com/it

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