Creación de tareas personalizadas para Team Build y Release Management
-
Upload
luis-fraile -
Category
Software
-
view
484 -
download
3
Transcript of Creación de tareas personalizadas para Team Build y Release Management
Microsoft Summit5 y 6 de octubre, 2016
#TechSum
#TechSum
Creación de tareas para Team Build y RMLuis [email protected]@lfraile
#TechSum
1 Juego Deus EX
Cazando a 5 Speakers
1 Curso desarrollo
apps
Cazando a Javier SuárezSO
RTEA
MO
S S
ORT
EAM
OS
SO
RTEA
MO
S SO
RTEA
MO
S
http://bit.ly/plain-go
#TechSum
Intro
#TechSum
Nuevo Sistema de Build y Release ManagementBasado en un pipeline de tareasAgentes compartidosBuild y RM
X-PlatformMacOSJenkinsJava…
Plantillas predefinidasPropiasTFS
Entornos de Release100% basado en web
#TechSum
Modelo de extensibilidadExtensiones en Visual Studio MarketPlacehttps://marketplace.visualstudio.com/ GratuitasDe pago
Se integran en las diferentes partes de TFS/VSTSGestión de Work ItemsBuild & RMNuevos paneles y funcionalidades
Varios modos de desarrolloPowerShell (Build & RM) + PS1 SDKJscript + API Rest + NPM SDK + TypescriptNodeJS (Build & RM)
#TechSum
Primera regla de la extensibilidadSi no lo necesitas realmente no lo hagas
#TechSum
Extensiones Build & RM
#TechSum
Que vamos a necesitarUna cuenta de VSTS / TFS 2015 Update 3Visual Studio Code tfx-cliHerramienta multiplataforma instalada via NPM (npm install -g tfx-cli)
Referenciahttps://github.com/Microsoft/vsts-taskshttps://github.com/Microsoft/vsts-tasks/tree/master/Tasks/ShellScript
#TechSum
Estructura base de una tarea$ tfx build tasks create
Task.json
Fichero de definición
Icon.pngIcono para listados de
tareas
Sample.js
Ejemplo base NodeJS
Sample.ps1
Ejemplo base Powershell
#TechSum
Task.jsonInformación básica de la tareaIdAutorDescripción…
Parámetros de entradaPuntos de ejecuciónVersión
#TechSum
PowershellSólo para WindowsSave-Module -Name VstsTaskSdk -Path .\SDK: https://github.com/Microsoft/vsts-task-lib/blob/master/powershell/Docs/Commands.md
Punto de ejecución Powershell3
#TechSum
JavascriptEjecutadas bajo NodeJSnpm install vsts-task-lib –saveSDK para Javascript/typescrip
Punto de ejecución Node
#TechSum
TypeScript
Aporta uso de await para las
tareas
Facilita el desarrollo (el
SDK está en TS)
También usa typings (librería
typescript)
Es lo recomendado
por Microsoft …
Es el mismo punto de
ejecución que Node
#TechSum
Gestión de mensajeshttps://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md
Sintáxis##vso[area.action property1=value;property2=value;...]message
Uso en Node console.log(`##vso[task.logissue type=error;]${err}`);
Uso en Powershell Write-Host // Write-VstsTaskError
#TechSum
Resultado de la tareaWrite-VstsSetResult -Result FailedPowershelltoolRunner.setResult(toolRunner.TaskResult.Failed,'Failed restoring the packages');Node
#TechSum
Pruebas localesPowershell$env:INPUT_MYINPUT = [...]Import-Module .\ps_modules\VstsTaskSdkInvoke-VstsTaskScript -ScriptBlock { . .\MyTask.ps1 }Invoke-VstsTaskScript -ScriptBlock ([scriptblock]::Create('. .\build-dotnet.ps1')) (PS3)
Nodeexport INPUT_SAMPLESTRING="Hello World“ // set INPUT_SAMPLESTRING="Hello World"Node build-dotnet.js
#TechSum
PublicaciónManualmente para tu propio VSTS/TFStfx build tasks upload
Creación de paquete para Marketplace1. Creación de publisher2. Generación local de paquete (tfx extension create --manifest-globs vss-
extension.json)3. Publicación en marketplace4. Compartir con cuentas VSTS5. Hacer pública6. Actualizaciones
#TechSum
Datos de la extensión
vss-extension.json
Datos generales
Autor Versión ObjetivoIcono para listados de extensiones
Ficheros
Contenidos de
extensiones
Puntos de contribució
n
Tareas
#TechSum
Demos
#TechSum
http://aka.ms/MTS82
© 2014 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.