Capacitación TFS - Build
-
Upload
ariel-bender -
Category
Technology
-
view
162 -
download
0
description
Transcript of Capacitación TFS - Build
![Page 1: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/1.jpg)
www.tecnosoftware.com.ar
Build
TFS para equipos de desarrollo
![Page 2: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/2.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Agenda• Conceptos
− TFS Build (Build Automation)
−MSBuild • Componentes • Configuraciones para otras tecnologías (VB)
−MSBuild en TFS• Build Definitions
• Demo de Build• Resumen
![Page 3: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/3.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Repaso: Proceso de Check-In
1212V5V5
991212441212
Changeset 12
WorkItem 158
ValidarPolíticas
1
Motor de Políticas de Checkin
Motor de Políticas de Checkin
Pru
ebas
Pru
ebas
Work
Ite
ms
Work
Ite
ms
Pers
on
aliz
ada
Pers
on
aliz
ada
Anális
is E
státi
coA
nális
is E
státi
co
PublicarCambios
2
Evento de Checkin
ActualizarWork Items
3
Envío de Mail
4
Link
Workspace
![Page 4: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/4.jpg)
Build YAutomatización de Build
![Page 5: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/5.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Team BuildEjecución de un build
Obtener fuentes del TFS
Generar Build Report y notificar
Publicar el Build Output
Actualizar Work Items
Build (incluido el Code Analysis)
Correr Tests y obtener Coverage
![Page 6: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/6.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Team BuildArquitectura
Cliente Team Foundation
Capa de Aplicación Servidor de
Build
Crear build type Iniciar build Ver Reportes
Team Build Web Services
MSBuild
Recurso compartid
o
Capa de Datos Código Work items Team Build data
Team Foundatio
n warehous
e
![Page 7: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/7.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
ConceptosBuild es el conjunto de pasos necesarios para obtener un producto de software. No se limita a compilar!
Build automation es el acto de automatizar este conjunto de pasos, generalmente relacionado con:• compilar codigo fuente• armado de paquetes o versiones• ejecucion de pruebas• despliegue en ambientes de testing y/o producción• generación de documentación
El objetivo es lograr que estas tareas sean repetibles de manera consistente, y lo mejor, es que podamos delegarlo a una herramienta que lo haga por nosotros
![Page 8: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/8.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Integración Continua• Práctica de desarrollo de software donde los
miembros de un equipo integran su trabajo frecuentemente, al menos una vez por día.
• Cada integración es verificada por un build automatizado para detectar problemas de integración tan pronto como sea posible.
• Permite al equipo de QA realizar verificaciones tempranas del producto sin depender de despliegues manuales.
![Page 9: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/9.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Nightly Build• Consiste en ejecutar el proceso completo de Build
todas las noches con el objetivo de asegurar que el sistema se encuentra en estado consistente.
• El resultado de un nightly-build debe ser un entegable concreto, capaz de ser deployado.
• Ventajas:−Comenzar a trabajar todos los días sobre suelo firme.−Si ocurren problemas de integración, saber exactamente la
causa para solucionarlo cuanto antes
![Page 10: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/10.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Unit Testing
• Procedimiento usado para validar el correcto funcionamiento de un módulo de código (clase o componente)
• Codificar casos de prueba para cada una de las funcionalidades y métodos−Se prueba cada parte por separado para verificar que cada
parte funciona correctamente
−Si un cambio provoca una regresión, ésta puede ser rápidamente identificada y corregida
−Cada caso de prueba es independiente del resto (principalmente a nivel de datos)
• Realizado por desarrolladores (no por usuarios)
![Page 11: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/11.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Unit Testing - Ventajas
• Facilita el Cambio−Permite refactorizar el código garantizando que
el módulo aún funciona correctamente• Simplifica la Integración
−Pueden ser utilizados en un testing de tipo bottom-up (se verifican primero las partes y luego al suma de ellas)
• Documentación−Proveen una especie de “documentación viva”. −Describen cómo se debe usar (y cómo no) el
módulo de código y su API−Evolucionan a medida que evoluciona el código
![Page 12: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/12.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Unit Testing - Desventajas
• Sólo se verifica la funcionalidad de las pruebas unitarias
• No es posible capturar todos los errores−Errores de integración−Problemas de performance
• No es simple anticipar todas las posibles combinaciones de entradas a la unidad que se está probando
• No permite probar todas las capas fácilmente
![Page 13: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/13.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Unit Testing en TFS
[TestClass]public class CuentasTest{ [TestMethod] public void SaldoTest(){
Cuenta cta = new Cuenta();cta.Depositar(1000);Assert.AreEqual(1000,
cta.Saldo);}
}
Atributo que agrupa Tests
Atributo que define un Test
Evaluaciones de condiciones funcionales del test
![Page 14: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/14.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
using Nunit.Framework;
[TestFixture]• public class CuentasTest{
[Test]• public void SaldoTest(){• Cuenta cta = new Cuenta();• cta.Depositar(1000);• Assert.AreEqual(1000,
cta.Saldo);• }
}
Unit Test con NUnit
Namespace de Nunit
Atributo que agrupa Tests
Atributo que define un Test
Evaluaciones de condiciones funcionales del test
![Page 15: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/15.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Code Coverage
• Es una actividad propia del testing Caja Blanca
• Utilizada en conjunto con Unit Testing• Su resultado representa el porcentaje de
alcance sobre el software objetivo de las pruebas unitarias−El cálculo se basa en el conjunto de líneas de
código fuente que fueron alcanzadas por la ejecución de las pruebas unitarias
![Page 16: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/16.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Tipos de Code Coverage
• Function coverage – Fueron ejecutadas todas las funciones del programa?
• Statement coverage – Fue ejecutada cada línea del archivo fuente?
• Condition coverage – Fueron ejecutadas todas las condiciones de evaluación y sus caminos alternativos?
![Page 17: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/17.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Build Automation
• Utiliza como motor de compilación a MSBuild.
• Trabaja sobre Team Projects.• Se configura mediante Build Definitions
utilizando los Build Agents.
![Page 18: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/18.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
MSBuild• Plataforma de compilación• Configuraciones mediante archivo XML
−*.sln y *.*proj• Contenido
−Elementos−Propiedades−Tareas−Destinos
• Extendido por la community agregando nuevas tareas que facilitan el tratamiento de otras plataformas.−http://msbuildextensionpack.codeplex.com/
![Page 19: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/19.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Elementos (Items)• Representan entradas en el sistema de
generación.• Se agrupan en colecciones de elementos basadas
en los nombres de colección definidos por el usuario.
• Se hace referencia a las colecciones de elementos mediante la sintaxis @(NombreColeccion).
• Ej: @(Archivos)<ItemGroup>
<Archivos Include="pics/sunny.png;pics/rain.png" />
<Archivos Include="pics/**/*.png" />
</ItemGroup>
![Page 20: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/20.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Propiedades• Representan pares clave/valor que se pueden
utilizar para configurar.• Se declaran creando un elemento con el nombre
de la propiedad como elemento secundario de un elemento PropertyGroup.
• Se hace referencia a las propiedades con la sintaxis $(PropertyName).
• Ej: $(Foo)
<PropertyGroup>
<Foo>Bar</Foo>
</PropertyGroup>
![Page 21: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/21.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Elementos vs Propiedades
• Los elementos se almacenan en colecciones, mientras que las propiedades contienen un valor escalar único.
• Los elementos no se pueden quitar de las colecciones de elementos, mientras que se puede modificar el valor de las propiedades una vez definido.
• Los elementos pueden contener metadatos y utilizar la notación %(ItemMetadata), mientras que las propiedades no pueden.
![Page 22: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/22.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Tareas
• Las tareas son unidades reutilizables de código ejecutable.
• MSBuild se distribuye con un gran número de tareas comunes, como Copy, MakeDir y Error.
• Listado de tareas:− http://msdn.microsoft.com/es-es/library/7z253716(v=vs.90).aspx
• Ejemplo:<MakeDir Directories="$(BuildDir)" />
![Page 23: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/23.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Destinos (Targets)
• Unidad mínima de ejecución• Agrupan tareas en un orden particular• Exponen secciones del archivo de proyecto como
puntos de entrada en el proceso de generación
<Target Name=“CrearCarpetas">
<MakeDir Directories="$(BuildDir)" />
</Target>
![Page 24: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/24.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Dependencia de Targets
• Los destinos pueden describir relaciones entre ellos y llevar a cabo análisis de dependencia.<Target Name=“Tarea1“>
...
</Target>
<Target Name=“Tarea2“>
...
</Target>
<Target Name="Copiar“ DependsOnTargets=“Tarea1;Tarea2" >
...
</Target>
![Page 25: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/25.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Condiciones
• MSBuild admite condiciones−'stringA' == 'stringB‘−'stringA' != 'stringB‘−<, >, <=, >=−Exists('stringA')−! , And, Or
• Agrupaciones con ( )• Ejemplo
<Error Text="Error al compilar" Condition="'$(ErrorCode)‘ > '0'" />
![Page 26: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/26.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Elemento Choose
• El elemento Choose contiene una serie de elementos When con atributos Condition que se comprueban de forma ordenada de arriba abajo hasta que uno aparece evaluado como true.
• Si más de un elemento When resulta evaluado como true, sólo se utilizará el primero.
• Se evaluará un elemento Otherwise, en caso de encontrarse presente, si ninguna condición en un elemento When resulta evaluada como true.
![Page 27: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/27.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Elemento Choose
• Ejemplo
<Choose>
<When Condition=" '$(Configuration)'=='Debug' ">
...
</When>
<When Condition=" '$(Configuration)'=='retail' ">
...
</When>
</Choose>
![Page 28: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/28.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Tarea Exec
• Ejecuta el programa o comando especificado con los argumentos especificados.−http://msdn.microsoft.com/es-es/library/x8zx72cd(v=vs.90
).aspx<Target Name="EjecutarBat">
<Exec Command='"ejecutar.bat"' ContinueOnError='true'>
<Output TaskParameter="ExitCode“ PropertyName="ErrorCode"/>
</Exec>
<Message Text="The exit code is $(ErrorCode)"/>
</Target>
![Page 29: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/29.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Registrar librerías
• Mediante la tarea Exec se ejecuta el comando:−regsvr32
• Parámetros−/s Sin notificación−/u Quitar del registro
• Ejemplo<Target Name="RegisterProjects">
<Message Text=“Registrando dlls..."/>
<Exec Command="regsvr32 /s nombredll.dll"/>
</Target>
![Page 30: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/30.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Extension pack
• Incluye tareas adicionales.• Se deben incluir las extension pack.
−http://msbuildextensionpack.codeplex.com/• Ejemplos
−Compilar VB6
−Comprimir
<MSBuild.ExtensionPack.VisualStudio.VB6 TaskAction="Build" Projects="@(Item_Group)"/>
<MSBuild.ExtensionPack.Compression.Zip TaskAction="Create" CompressFiles="@(FilesToZip)" ZipFileName="C:\newZipByFile.zip"/>
![Page 31: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/31.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Ejecución de MSBuild
• Ejecución por línea de comando:
• Las opciones de la línea de comandos permiten establecer propiedades, ejecutar destinos específicos y especificar registradores.
• Por ejemplo, se ejecuta el archivo MyProj.proj con la propiedad Configuration establecida en Debug.
MSBuild.exe MyProj.proj /property:Configuration=Debug
![Page 32: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/32.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Ejemplo<Project ToolsVersion="3.5" DefaultTargets="CompilarProyectos" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="compilarProyecto1"> <Exec Command='"proyecto1.bat"' ContinueOnError='true'> <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/> </Exec> <Message Text="Compilacion Proyecto 1 / Exit code: $(ErrorCode)"/> <Error Text="Error while executing BAT file" Condition="'$(ErrorCode)' > '0'" /> <OnError ExecuteTargets="MessageErrorHandler"/> </Target> <Target Name="compilarProyecto2"> <Exec Command='"proyecto2.bat"' ContinueOnError='true'> <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/> </Exec> <Message Text="Compilacion Proyecto 2 / Exit code: $(ErrorCode)"/> <Error Text="Error while executing BAT file" Condition="'$(ErrorCode)' > '0'" /> <OnError ExecuteTargets="MessageErrorHandler"/> </Target> <Target Name="CompilarProyectos" DependsOnTargets="compilarProyecto1;compilarProyecto2"> </Target> <!--Error Handler--> <Target Name="MessageErrorHandler"> <Message Text="Ha ocurrido un error al ejecutar la compilacion. Por favor revise el log."/> </Target>
</Project>
![Page 33: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/33.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Build Definitions• Contiene las instrucciones que indican:
−Cual es el código del proyecto a compilar−Como debe ejecutarse−Operaciones adicionales
![Page 34: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/34.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Crear Build Definitions
![Page 35: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/35.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Listado de Builds
![Page 36: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/36.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Reportes
![Page 37: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/37.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Target de TFS
• TFS posee targets pre-definidos para realizar las tareas de TFS Build
• Se deben importar en el proyecto:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
![Page 38: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/38.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Sobre-escribir targets de TFS
• Para integrar la compilación VB6 se requiere sobre-escribir las targets nativos de TFS:−CoreCompile
−AfterDropBuild
<Target Name="CoreCompile" DependsOnTargets="CompileVB6Projects"></Target>
<Target Name="AfterDropBuild" DependsOnTargets="ZipBin;Copiar;Limpiar"></Target>
![Page 39: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/39.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Propiedades en TFS
• Pares de clave y valor que puede utilizar para configurar las compilaciones de TFS.−http
://msdn.microsoft.com/en-us/library/aa337598(v=vs.90).aspx
• Estas propiedades se pueden modificar en el archivo TFSBuild.proj para:−Pasar valores a tareas y destinos de TFS Build−Invalidar algunas acciones de compilación
• Ejemplos−RunTest−SkipWorkItemCreation
![Page 40: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/40.jpg)
Demo de Build Server con TFS
![Page 41: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/41.jpg)
Av. Belgrano 687 7P C1092AAG Buenos Aires, Argentina | Tel. (+54 11) 5128-3000 | www.tecnosoftware.com.ar
Resumen• Build como proceso repetitivo• Distintos escenarios de Build
−Integrado al check-in, Unit testing, nightly build, code coverage
−Build por branch, build específicos• TFS Build y MS Build
![Page 42: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/42.jpg)
Consultas
![Page 43: Capacitación TFS - Build](https://reader035.fdocuments.net/reader035/viewer/2022062216/5592343f1a28ab72778b45ad/html5/thumbnails/43.jpg)
Av. Belgrano 687 Piso 7º - Buenos Aires, Argentina
Teléfono: (+5411) 5128-3000
www.tecnosoftware.com.ar