Gestión del código fuente con Visual Studio Team System 2008
-
Upload
diego-torres -
Category
Documents
-
view
226 -
download
6
description
Transcript of Gestión del código fuente con Visual Studio Team System 2008
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 1
Gestión del código fuente con Visual Studio Team System 2008
Jesús JiménezSoftware Development Consultantilitia technologies
weblog: www.teamsystem.ese-mail: [email protected]
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 2
AgendaAgenda
Gestión de la configuraciónGestión de la configuraciónQué es y qué implicaQué es y qué implica
Organización en Organización en TeamTeam FoundationFoundation ServerServer
BranchBranch & & MergeMergeDefiniciones y conceptosDefiniciones y conceptos
EscenariosEscenariosDistintos tipos de escenarios:Distintos tipos de escenarios:
Por versión, característica, equipos, integraciónPor versión, característica, equipos, integración
EstrategiasEstrategiasComo afrontar los escenarios:Como afrontar los escenarios:
Versión única, Versión única, multiplemultiple, , multiplesmultiples equipos / equipos / caracteristicascaracteristicas
BaselessBaseless mergemerge
Recomendaciones y Recomendaciones y AntipatronesAntipatrones 2
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 3
Gestión de la configuraciónGestión de la configuración
3
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 4
Gestión de la configuraciónGestión de la configuración
4
¿Qué es?¿Qué es?
Disciplina que maneja como el software es modificado y Disciplina que maneja como el software es modificado y construidoconstruido
Ayuda a controlar el ciclo de vida del desarrollo de software Ayuda a controlar el ciclo de vida del desarrollo de software (SDLC)(SDLC)
Implica conceptos como:Implica conceptos como:Gestión de recursosGestión de recursos
Versionado de recursosVersionado de recursos
Modelos de trabajo colaborativoModelos de trabajo colaborativo
Gestión del historialGestión del historial
Gestión de compilaciones y versionesGestión de compilaciones y versiones
Desarrollo paraleloDesarrollo paralelo
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 5
Gestión de la configuraciónGestión de la configuración
5
Gestión de recursosGestión de recursos
Centralización, surgen los repositoriosCentralización, surgen los repositorios
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 6
Gestión de la configuraciónGestión de la configuración
6
Versionado de recursosVersionado de recursos
Almacenar diferentes versiones de un ficheroAlmacenar diferentes versiones de un fichero
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 7
Gestión de la configuraciónGestión de la configuración
7
Modelos de trabajo colaborativoModelos de trabajo colaborativo
CopyCopy--ModifyModify--MergeMerge / / LockLock--ModifyModify--UnlockUnlock
v1v1
v2v2
v1v1
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 8
Gestión de la configuraciónGestión de la configuración
8
Gestión del historialGestión del historial
Cuantas veces se ha modificado un ficheroCuantas veces se ha modificado un fichero
Acceso a versiones especificasAcceso a versiones especificas
Recuperar versiones anterioresRecuperar versiones anteriores
v1v1 v2v2 v3v3 v4v4 vvnn….….
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 9
Gestión de la configuraciónGestión de la configuración
9
Gestión de compilaciones y versionesGestión de compilaciones y versiones
ResultadosResultados
Reportes de compilacionesReportes de compilaciones
Output de la compilaciónOutput de la compilación
AccesibleAccesible
Patrones de nombrado / archivadoPatrones de nombrado / archivadoFecha de compilaciónFecha de compilación
Nombre de compilaciónNombre de compilación
Numero de compilación ese díaNumero de compilación ese día
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 10
Gestión de la configuraciónGestión de la configuración
10
Desarrollo paraleloDesarrollo paralelo
Evolucionar un fichero de formas diferentesEvolucionar un fichero de formas diferentes
Distintos motivosDistintos motivos
Posibilidad de unir los ficheros en el futuroPosibilidad de unir los ficheros en el futuro
v1v1
v1v1--branchbranch
time linetime line v2v2
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 11
HandsHands OnOn CodeCode::
Gestión de la configuraciónGestión de la configuración
11
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 12
Organización en Organización en TeamTeam FoundationFoundation ServerServer
12
Niveles de organizaciónNiveles de organización
TeamTeam ProjectProjectUn Un TeamTeam ProjectProject
Múltiples Múltiples TeamTeam ProjectsProjects
Estructura de Estructura de BranchesBranchesDevelopmentDevelopment
MainMain
ProductionProduction
Estructura de DirectoriosEstructura de DirectoriosCódigo fuenteCódigo fuente
Paquete de instalaciónPaquete de instalación
DocumentaciónDocumentación
PruebasPruebas
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 13
Organización en Organización en TeamTeam FoundationFoundation ServerServer
13
Estructura a nivel de Estructura a nivel de SourceSource ControlControl
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 14
Organización en Organización en TeamTeam FoundationFoundation ServerServer
14
SharedShared CodeCode / / LibLib / / UnitUnit TestsTests
Código compartido entre Código compartido entre TeamTeam ProjectsProjects¿Un ¿Un TeamTeam Project para código compartido?Project para código compartido?
Localización compartida (Localización compartida (ClientClient SideSide))
BranchingBranching (Server (Server SideSide))
Librerías compartidas entre Librerías compartidas entre TeamTeam ProjectsProjects¿Un ¿Un TeamTeam Project para librerías compartidas?Project para librerías compartidas?
Localización compartida (Cliente Localización compartida (Cliente SideSide))
BranchingBranching (Server (Server SideSide))
Pruebas unitariasPruebas unitariasSe almacenan fuera de la carpeta Se almacenan fuera de la carpeta CodeCode, aunque luego formen parte de , aunque luego formen parte de la soluciónla solución
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 15
Organización en Organización en TeamTeam FoundationFoundation ServerServer
15
Estructura de la carpeta Estructura de la carpeta CodeCode
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 16
HandsHands OnOn CodeCode::
Organización en Organización en TeamTeam FoundationFoundation ServerServer
16
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 17
BranchBranch
17
¿Qué es?¿Qué es?
Permite el desarrollo paraleloPermite el desarrollo paralelo
AislamientoAislamientoIndividualIndividual
ColaborativoColaborativo
Relación padre/hijo entre Relación padre/hijo entre branchesbranches
BranchBranch en un punto conocidoen un punto conocidoFechaFecha
ChangesetChangeset
Ultima versiónUltima versión
Requiere un espacio adicional pequeñoRequiere un espacio adicional pequeño
Misma forma de trabajo en TFVCMisma forma de trabajo en TFVC
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 18
MergeMerge
18
¿Qué es?¿Qué es?
Integración de cambios entre Integración de cambios entre branchesbranchesCambios en ficheros, cambios de nombre , ficheros añadidos, ficheros Cambios en ficheros, cambios de nombre , ficheros añadidos, ficheros eliminadoseliminados
Proceso bidireccionalProceso bidireccionalForward Forward IntegrationIntegration (De padre a hijo)(De padre a hijo)
Reverse Reverse IntegrationIntegration (De hijo a padre)(De hijo a padre)
Herramienta de resolución de conflictosHerramienta de resolución de conflictos
Genera un Genera un changesetchangeset, como el , como el checkcheck--inin
Posibilidad de Posibilidad de rollbackrollback
BaselessBaseless MergeMerge
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 19
EscenariosEscenarios
19
Principales escenariosPrincipales escenarios
Por versiónPor versiónMantener aislamiento entre versionesMantener aislamiento entre versiones
Permite seguir el desarrollo mientras se pruebaPermite seguir el desarrollo mientras se prueba
No tiene porque ser una versión del productoNo tiene porque ser una versión del producto
Por característicaPor característicaCaracterísticas experimentalesCaracterísticas experimentales
Evita inestabilidadEvita inestabilidad
Por equiposPor equiposEquipos distribuidos geográficamenteEquipos distribuidos geográficamente
Aísla de cambiosAísla de cambios
Integración Integración
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 20
EstrategiasEstrategias
20
Antes de empezarAntes de empezar
¿Realmente necesito crear un ¿Realmente necesito crear un branchbranch??No es bueno hacer No es bueno hacer overover--branchingbranching
BranchesBranches Vs. Vs. LabelsLabels
Determinar cual es nuestro escenarioDeterminar cual es nuestro escenarioVersión únicaVersión única
Múltiples versionesMúltiples versiones
Múltiples característicasMúltiples características
Múltiples equiposMúltiples equipos
La estrategia elegida marcará todo el procesoLa estrategia elegida marcará todo el proceso
Existen una gran cantidad de estrategiasExisten una gran cantidad de estrategias
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 21
EstrategiasEstrategias
21
Versión únicaVersión única
$/$/ProductProduct//DevDev
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction
$/$/ProductProduct//SafekeepingSafekeeping//ReleaseRelease 1.01.0
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 22
HandsHands OnOn CodeCode::
Versión ÚnicaVersión Única
22
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 23
EstrategiasEstrategias
23
Múltiples versionesMúltiples versiones
$/$/ProductProduct//DevDev
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
$/$/ProductProduct//SafekeepingSafekeeping•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 24
HandsHands OnOn CodeCode::
MúltiplesMúltiples VersionesVersiones
24
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 25
EstrategiasEstrategias
25
Múltiples características / equiposMúltiples características / equipos
$/$/ProductProduct//DevDev•• FeatureBranch1FeatureBranch1
•• FeatureBranch2FeatureBranch2
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
$/$/ProductProduct//SafekeepingSafekeeping•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 26
HandsHands OnOn CodeCode::
Múltiples Múltiples caracteristicascaracteristicas / equipos / equipos
26
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 27
EstrategiasEstrategias
27
Modelo de promociónModelo de promoción bidireccionalbidireccional
$/$/ProductProduct//DevDev•• FeatureBranch1FeatureBranch1
•• FeatureBranch2FeatureBranch2
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
$/$/ProductProduct//SafekeepingSafekeeping•• ReleaseRelease 1.01.0
•• ReleaseRelease 2.02.0
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 28
EstrategiasEstrategias
28
Modelo de promociónModelo de promoción bidireccionalbidireccional
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction//ReleaseRelease 1.01.0
$/$/ProductProduct//ProductionProduction//ReleaseRelease 2.02.0
Sin relaciónSin relaciónde de mergemerge
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 29
EstrategiasEstrategias
No existe una línea base de códigoNo existe una línea base de código
Posible desde línea de comandoPosible desde línea de comando
Relación tras el primer Relación tras el primer BaselessBaseless MergeMerge
29
BaselessBaseless MergeMerge
$/$/ProductProduct//MainMain
$/$/ProductProduct//ProductionProduction//ReleaseRelease 1.01.0
$/$/ProductProduct//ProductionProduction//ReleaseRelease 2.02.0
BaselessBaseless
MergeMerge
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 30
HandsHands OnOn CodeCode::
BaselessBaseless MergeMerge
30
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 31
EstrategiasEstrategias
Crea Crea BranchesBranches solo cuando lo necesitessolo cuando lo necesites
Haz Haz MergeMerge siempre desde el siempre desde el rootroot del del BranchBranch
Evita el Evita el BranchingBranching excesivoexcesivo
No tengas miedo a hacer No tengas miedo a hacer MergeMerge, mientras más tarde lo , mientras más tarde lo hagas peor seráhagas peor será
““TheThe laterlater youyou mergemerge, , thethe higherhigher thethe painpain” ;” ;--))
Revisa siempre las operaciones, te puedes confundir Revisa siempre las operaciones, te puedes confundir fácilmente fácilmente
““MeasureMeasure twicetwice, , cutcut onceonce” ;” ;--))
31
Consideraciones y buenas prácticasConsideraciones y buenas prácticas
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 32
EstrategiasEstrategias
MergeMerge ParanoiaParanoia
MergeMerge ManiaMania
Big Big BangBang MergeMerge
WrongWrong--WayWay MergeMerge
CascadingCascading BranchesBranches
DevelopmentDevelopment FreezeFreeze
VolatileVolatile BranchesBranches
TemporaryTemporary BranchesBranches
32
AntipatronesAntipatrones
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 33
RecursosRecursosVisual Studio Visual Studio TeamTeam SystemSystem GuidanceGuidance [p&p07][p&p07]http://www.codeplex.com/VSTSGuidancehttp://www.codeplex.com/VSTSGuidance
TeamTeam FoundationFoundation Server Server BranchingBranching GuidanceGuidance [p&p07][p&p07]http://www.codeplex.com/BranchingGuidance/http://www.codeplex.com/BranchingGuidance/
TeamTeam FoundationFoundation Server 2008 In Server 2008 In ActionAction[[ManningManning –– Azher08]Azher08]
BranchingBranching and and MergingMerging Primer [Microsoft Primer [Microsoft -- Birmele06]Birmele06]http://msdn.microsoft.com/enhttp://msdn.microsoft.com/en--us/library/aa730834(VS.80).aspxus/library/aa730834(VS.80).aspx
SCM Patterns. Effective Teamwork, Practical Integration [Addison Wiley SCM Patterns. Effective Teamwork, Practical Integration [Addison Wiley ––Berczuk03]Berczuk03]
Streamed Lines:Streamed Lines: Branching Patterns for Parallel Software Development [Branching Patterns for Parallel Software Development [PLoPPLoPConference Conference –– Appleton98]Appleton98]www.cmcrossroads.com/bradapp/acme/branching/www.cmcrossroads.com/bradapp/acme/branching/
33
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 34
RecursosRecursosInformación General sobre VSTS / TFSInformación General sobre VSTS / TFS
En mi blog: www.teamsystem.es (En mi blog: www.teamsystem.es (http://www.teamsystem.eshttp://www.teamsystem.es))
MSDN (MSDN (http://msdn.microsoft.comhttp://msdn.microsoft.com))
Foros de Visual Studio Foros de Visual Studio TeamTeam SystemSystem((http://forums.microsoft.com/msdn/default.aspx?ForumGroupID=5&SiteID=1http://forums.microsoft.com/msdn/default.aspx?ForumGroupID=5&SiteID=1 ))
CodeplexCodeplex ((www.codeplex.comwww.codeplex.com))
He utilizado para esta presentaciónHe utilizado para esta presentaciónTeamTeam FoundationFoundation Server 2008 + SP1Server 2008 + SP1
Visual Studio Visual Studio TeamTeam SystemSystem 2008 2008 DeveloperDeveloper EditionEdition + SP1+ SP1
TeamTeam Explorer 2008Explorer 2008
Herramientas de la comunidadHerramientas de la comunidadTeamTeam FoundationFoundation Server Server PowerPower ToolsTools
TeamTeam FoundationFoundation Server Server SideKicksSideKicks
Muchas Gracias !!Muchas Gracias !!34
PDF created with pdfFactory trial version www.pdffactory.com
3/13/2011 10:09 PM
2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 35
© 2005 Madrid .NET User Group. All rights reserved; reproduction in part or in wholewithout written permission of the author and the user group is prohibitedThe work contained in this presentation is shown AS IS without any implied warranty or liability for anydamage derived from it use. All the expressions and opions are personal and resposability of the speaker.
PDF created with pdfFactory trial version www.pdffactory.com