tfs extensions: novas possibilidades para integrar suas iniciativas de devops ao tfs
TRANSCRIPT
Globalcode – Open4education
Trilha – DevOps .Net
TFS Extensions Novas possibilidades para integrar suas iniciativas de DevOps ao TFS
Igor Rosa MacedoConsultor DevOps | ESX
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:
Globalcode – Open4education
DevOps
Globalcode – Open4education
DevOps
Globalcode – Open4education
DevOps
Globalcode – Open4education
DevOps
• Colaboração • Automação • Feedback
Valor para o negócio
Globalcode – Open4education
DevOps não é:
• Processo • Metodologia • Framework• Cargo• Ferramenta
Globalcode – Open4education
DevOps
• Pessoas • Processos • Ferramentas
Globalcode – Open4education
Ferramentas Flexíveis
• Configuração/Customização
• Extensão• Integração
Globalcode – Open4education
Customização
Globalcode – Open4education
Customização (TFS/VSTS)
• Process Template• Workitem Types;• Fields;• Workflow;
Globalcode – Open4education
Customização (TFS/VSTS)
• Backlog• Board
Globalcode – Open4education
• Queries• Relatórios
Customização (TFS/VSTS)
Globalcode – Open4education
• Alertas Customização (TFS/VSTS)
Globalcode – Open4education
• Permissões e Grupos de Permissões Customização (TFS/VSTS)
Globalcode – Open4education
• DashboardsCustomização (TFS/VSTS)
Globalcode – Open4education
Extensão
• Server Plugins* • Scheduled Jobs*• Build• Release
*Somente no TFS (on-premises)
Globalcode – Open4education
Integração
• Service Hooks• Server Plugins* • Scheduled Jobs*• Alertas• Build• Release
*Somente no TFS (on-premises)
Globalcode – Open4education
Marketplace
Globalcode – Open4education
VSTS/TFS ExtensionsAn extension uses Microsoft-provided APIs to install/plug into a Microsoft product.
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.
Globalcode – Open4education
Cenário1Gestão de Demandas
Demandas Aprovadas
Regulatory
Operation
Business
BuildFontes QA ProduçãoReleaseWorkitems
Globalcode – Open4education
Cenário1
Globalcode – Open4education
Hub Extension
Globalcode – Open4education
Cenario2
Build
MSBuild
Legado
Globalcode – Open4education
Build Task
Globalcode – Open4education
Pontos de Extensão
Hubs e Hubs Group
Globalcode – Open4education
Pontos de Extensão
Add backlog tabs
Globalcode – Open4education
Pontos de Extensão
Menus e toolbars
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
Globalcode – Open4education
Pontos de Extensão
Dashboard Widgets
Globalcode – Open4education
Pontos de Extensão
Build e Deploy Tasks
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;
Globalcode – Open4education
Visual Studio Services Web Extension SDK
https://github.com/Microsoft/vss-web-extension-sdk
Globalcode – Open4education
Visual Studio Services Web Extension SDK
https://github.com/Microsoft/vss-web-extension-sdk
Globalcode – Open4education
Visual Studio Services Web Extension SDK
Globalcode – Open4education
Manifest
Core properties
Globalcode – Open4education
ManifestDiscovery properties
Globalcode – Open4education
ManifestRuntime properties
Globalcode – Open4education
Hospedagem do conteúdo
• Interno (VSTS/TFS);
• Externo;
Globalcode – Open4education
Armazenamento de dados
Settings: simple key-value settings (like user preferences)
Documents: collections of similar complex objects (documents)
Globalcode – Open4education
EmpacotamentoTFX-CLI
Globalcode – Open4education
Publicando
• Criar Publisher;• Upload vsix (portal ou Tfx-cli);
http://aka.ms/vsmarketplace-manage
Globalcode – Open4education
Compartilhando
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
Globalcode – Open4education
Tornando Público
• True na flag public do Manifest; • Empacotar e republicar;
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
Globalcode – Open4education
Obrigado!
@igorgugabr.linkedin.com/in/igormacedohttp://igormacedo.com.br