tfs extensions: novas possibilidades para integrar suas iniciativas de devops ao tfs

48
Globalcode – Open4education Trilha – DevOps .Net TFS Extensions Novas possibilidades para integrar suas iniciativas de DevOps ao TFS Igor Rosa Macedo Consultor DevOps | ESX

Upload: igor-rosa-macedo

Post on 26-Jan-2017

314 views

Category:

Software


0 download

TRANSCRIPT

Page 1: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Trilha – DevOps .Net

TFS Extensions Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Igor Rosa MacedoConsultor DevOps | ESX

Page 2: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

AgendaDevOps: Porque ferramentas flexíveis são importantes para DevOps?Conceito: Customização/Configuração, Integração e ExtensãoTFS/VSTS: possibilidades antes das extensões TFS/VSTS: novas possibilidades

MarketplaceExtensões e integrações

Cenários de aplicação:Gestão de Demandas: Custom HubBuild VS2003: Build Task

Passo a passo: criando uma extensão:

Page 3: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps

Page 4: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps

Page 5: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps

Page 6: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps

• Colaboração • Automação • Feedback

Valor para o negócio

Page 7: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps não é:

• Processo • Metodologia • Framework• Cargo• Ferramenta

Page 8: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

DevOps

• Pessoas • Processos • Ferramentas

Page 9: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Ferramentas Flexíveis

• Configuração/Customização

• Extensão• Integração

Page 10: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Customização

Page 11: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Customização (TFS/VSTS)

• Process Template• Workitem Types;• Fields;• Workflow;

Page 12: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Customização (TFS/VSTS)

• Backlog• Board

Page 13: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

• Queries• Relatórios

Customização (TFS/VSTS)

Page 14: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

• Alertas Customização (TFS/VSTS)

Page 15: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

• Permissões e Grupos de Permissões Customização (TFS/VSTS)

Page 16: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

• DashboardsCustomização (TFS/VSTS)

Page 17: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Extensão

• Server Plugins* • Scheduled Jobs*• Build• Release

*Somente no TFS (on-premises)

Page 18: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Integração

• Service Hooks• Server Plugins* • Scheduled Jobs*• Alertas• Build• Release

*Somente no TFS (on-premises)

Page 19: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Marketplace

Page 20: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

VSTS/TFS ExtensionsAn extension uses Microsoft-provided APIs to install/plug into a Microsoft product.

Page 21: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

VSTS/TFS ExtensionsAn integration is a product, tool, or service that integrations with a Microsoft product in some way, but does not install into that Microsoft product directly.

Page 22: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Cenário1Gestão de Demandas

Demandas Aprovadas

Regulatory

Operation

Business

BuildFontes QA ProduçãoReleaseWorkitems

Page 23: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Cenário1

Page 24: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Hub Extension

Page 25: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Cenario2

Build

MSBuild

Legado

Page 26: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Build Task

Page 27: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Hubs e Hubs Group

Page 28: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Add backlog tabs

Page 29: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Menus e toolbars

Page 30: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Workitem form

• Add a group to the main page• Add a page (tab)• Add an action to the context menu• Listen for events on the form

Page 31: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Dashboard Widgets

Page 32: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Pontos de Extensão

Build e Deploy Tasks

Page 33: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Passo a passo1.Criar a extensão:

• SDK;• Icone;• Manifest;• Conteúdo (scripts, html, css,

images);2.Empacotar (vsix); 3.Publicar:

• Criar Publisher;• Realizar upload;

4.Compartilhar;5.Disponibilizar para todos;

Page 34: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Visual Studio Services Web Extension SDK

https://github.com/Microsoft/vss-web-extension-sdk

Page 35: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Visual Studio Services Web Extension SDK

https://github.com/Microsoft/vss-web-extension-sdk

Page 36: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Visual Studio Services Web Extension SDK

Page 37: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Manifest

Core properties

Page 38: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

ManifestDiscovery properties

Page 39: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

ManifestRuntime properties

Page 40: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Hospedagem do conteúdo

• Interno (VSTS/TFS);

• Externo;

Page 41: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Armazenamento de dados

Settings: simple key-value settings (like user preferences)

Documents: collections of similar complex objects (documents)

Page 42: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

EmpacotamentoTFX-CLI

Page 43: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Publicando

• Criar Publisher;• Upload vsix (portal ou Tfx-cli);

http://aka.ms/vsmarketplace-manage

Page 44: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Compartilhando

Page 45: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Tornando Público

“Send an email to [email protected]• Use the subject Publisher verification request• Include your publisher ID in the e-mail

• Send from your organization/company e-mail address • Share details of your association with a business/company and other

information such as• Link to your site • Link to your LinkedIn account • Link to your GitHub account • Link to your blog

• Share details about your extension/integration• Microsoft will respond within 2 business days”

• Verificação do publisher

Page 46: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Tornando Público

• True na flag public do Manifest; • Empacotar e republicar;

Page 47: TFS Extensions: Novas possibilidades para integrar suas iniciativas de DevOps ao TFS

Globalcode – Open4education

Referências

https://www.visualstudio.com/en-us/docs/integrate/extensions/overview

Documentação sobre extensões

https://github.com/Microsoft/vss-web-extension-sdk

Documentação da SDK

https://github.com/Microsoft/vsts-extension-samples

Exemplos

https://visualstudiogallery.msdn.microsoft.com/a00f6cfc-4dbb-4b9a-a1b8-4d24bf46770b

Visual Studio Project Template