SlideShare ist ein Scribd-Unternehmen logo
1 von 22
ALM Summit Brasil 2014 
ALM Summit Brasil 2014 
Como ser um bom administrador 
de Team Foundation Server 
Vinicius Moura 
vinicius.moura@lambda3.com.br 
@vinijmoura 
ALM Rangers 
MCSD ALM
ALM Summit Brasil 2014 
Para aprender e/ou recordar 
API 
Camada de Dados 
(“Data Tier”) 
Camada de Aplicação 
(“Application Tier”) 
Camada de Cliente 
(“Client Tier”) 
Visual 
Studio 
Eclipse 
Windows 
Explorer 
Linha de 
comando 
Microsoft 
Excel 
Microsoft 
Project 
Aplicações
ALM Summit Brasil 2014 
Como administrar um ou mais 
servidor(es) de vários “pais”? 
Data Tier App Tier Proxy Server 
Build Server 
O que eu faço com esse 
monte de servidores?
ALM Summit Brasil 2014 
Backup das bases de dados 
• Cenário 2 – Backup 
Admin Console 
• Cenário 1 – Backup 
Trivial 
• Tfs_Configuration 
• Tfs_Collection – 1 à “N” 
• Tfs_Warehouse 
• ReportServer (2 bases) 
• SharePoint (3 bases) 
Vamos facilitar a sua vida? 
http://msdn.microsoft.com/en-us/library/hh561429.aspx
ALM Summit Brasil 2014 
Process Templates 
Dica importante: faça o versionamento do Process 
Template da sua empresa
ALM Summit Brasil 2014 
Process Templates 
Cenário do caos: Eu preciso atualizar 700 Team 
Projects para a inclusão de um novo campo no Work 
Item Type Bug 
• Resolução 1 – Utilizar o Process Template Editor e 
repetir o processo 700 vezes ;-)
ALM Summit Brasil 2014 
Process Templates 
• Resolução 2 – Utilizar a ferramenta TFS Administrators 
Toolkit 
http://visualstudiogallery.msdn.microsoft.com/33713c5d 
-31a3-44b3-ae94-3c413e6b21c7
ALM Summit Brasil 2014 
Process Templates 
• Resolução 3 – Linha de comando witadmin 
importwitd 
Select na tabela tbl_Project da tfs_Collection 
Salvar os nomes dos Team Projects em um arquivo txt 
Executar a linha de comando witadmin importwitd
ALM Summit Brasil 2014 
Process Templates 
witadmin importwitd /collection:collectionurl 
[/p:project] /f:filename /v 
FOR /F "tokens=1" %i in (C:tempprojetos.txt) 
DO witadmin importwitd 
/collection:http://vinimoura-pc: 
8080/tfs/DefaulCollection /p:%i 
/f:"D:DesktopMicrosoft Visual Studio Scrum 
2013.3WorkItem 
TrackingTypeDefinitionsBug.xml" /v > 
C:temp%i.txt
ALM Summit Brasil 2014 
Grupos e Usuários 
Permissionamento de usuários 
TFSSecurity /imx <identity> 
/collection:http://myservertfs:8080/tfs/Collec 
tion
ALM Summit Brasil 2014 
Grupos e Usuários 
Auditoria de usuários no TFS 2013
ALM Summit Brasil 2014 
A tabela tbl_command 
• Tabela de acessos ao TFS 
• Command 
• Start Time 
• Execution Time 
• IdentityName 
• IP 
• UserAgent 
A tabela tbl_command é limpa 
a cada 14 dias :(
ALM Summit Brasil 2014 
A tabela tbl_command 
Cenário 1: Como listar as versões de Visual Studio 
que se conectam ao meu TFS? 
SELECT DISTINCT UserAgent 
FROM tbl_Command 
ORDER BY UserAgent
ALM Summit Brasil 2014 
A tabela tbl_command 
Cenário 2: Performance dos comandos executados
ALM Summit Brasil 2014 
Scripts Power Shell 
Cenário 1: Criar branches 
param( [string] $ServerFolderLocation ) 
if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) 
-eq $null ) 
{ 
Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
} 
$CollectionURI="http://myserver/tfs/myCollection" 
$tfs=Get-TfsServer -name $CollectionURI 
$TfExePath = "C:Program FilesMicrosoft Visual Studio 12.0Common7IDETF.exe" 
$match="TRUNK" 
foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) 
{ 
if ($item -match $match) 
{ 
$branchpath = $item.ServerItem -replace "TRUNK", "BRANCHES" 
$branchpath = $branchpath 
& "$TfExePath" branch $item.ServerItem $branchpath /version:T /checkin 
/comment:"Created Branch" 
} 
}
ALM Summit Brasil 2014 
Scripts Power Shell 
Cenário 2: Converter pastas em branches 
param( [string] $ServerFolderLocation ) 
if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) 
-eq $null ) 
{ 
Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
} 
$CollectionURI="http://myserver/tfs/myCollection" 
$tfs=Get-TfsServer -name $CollectionURI 
$TfptExePath = "C:Program FilesMicrosoft Team Foundation Server 2013 Power ToolsTFPT.exe" 
$match="TRUNK" 
foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) 
{ 
if ($item -match $match) 
{ 
& "$TfptExePath" branches /convertToBranch /collection:$CollectionURI 
/description:"Convert to Branch" $item.ServerItem 
} 
}
ALM Summit Brasil 2014 
Scripts Power Shell 
Cenário 3: Criar work Itens 
param( [string] $ServerFolderLocation ) 
if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) 
-eq $null ) 
{ 
Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
} 
$CollectionURI="http://myserver/tfs/myCollection" 
$tfs=Get-TfsServer -name $CollectionURI 
$TfptExePath = "C:Program FilesMicrosoft Team Foundation Server 2013 Power ToolsTFPT.exe" 
$match=“BRANCHES" 
foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) 
{ 
if ($item -match $match) 
{ 
$title = $item.ServerItem 
$description = "Primeiro checkin - " + $title 
& "$TfptExePath" workitem /new myProjectUser Story 
/collection:$CollectionURI /Fields:"Title=$title;Description=$description" 
} 
}
ALM Summit Brasil 2014 
Scripts Power Shell 
Cenário 4: Permissionamento de Pastas 
param( [string] $ServerFolderLocation ) 
if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) 
-eq $null ) 
{ 
Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
} 
$CollectionURI="http://myserver/tfs/myCollection" 
$tfs=Get-TfsServer -name $CollectionURI 
$TfExePath = "C:Program FilesMicrosoft Visual Studio 12.0Common7IDETF.exe" 
$match="BRANCHES" 
foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) 
{ 
if ($item -match $match) 
{ 
& "$TfExePath" permission /allow:"checkin,pendchange,merge" 
/group:Contributors/collection:$CollectionURI $item.ServerItem 
} 
}
ALM Summit Brasil 2014 
Gerenciamento de Builds 
Cenário 1: Meu build controller morreu e preciso 
executar o reapontamento de 200 Build Definitions 
TFS Community Build Manager - 
http://visualstudiogallery.msdn.microsoft.com/73bf2d8e-aec6- 
406c-8e7f-1c678e46557f
ALM Summit Brasil 2014 
O “rei” dos Plug-ins – Neno Loje 
tfsRefresWarehouse 
tfsSyncIdentities 
http://blogs.msmvps.com/vstsblog/2014/05/05/upd 
ated-tools-for-tfs-2013/
ALM Summit Brasil 2014 
ALM Rangers 
• Solutions – http://aka.ms/vsarsolutions 
• Widgets – http://aka.ms/widgets
ALM Summit Brasil 2014 
ALM Summit Brasil 2014 
Obrigado! 
vinicius.moura@lambda3.com.br 
@vinijmoura 
http://blog.lambda3.com.br/L3/viniciusmoura/

Weitere ähnliche Inhalte

Ähnlich wie Como ser um bom administrador de team foundation server vinicius moura

nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud Alithya
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsTen Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsAtlassian
 
Performance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-MechanizePerformance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-Mechanizecoreygoldberg
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleJim Dowling
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Setting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your TestingSetting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your TestingJet Liu
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Meetup bangalore aug31st2019
Meetup bangalore aug31st2019Meetup bangalore aug31st2019
Meetup bangalore aug31st2019D.Rajesh Kumar
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextPrateek Maheshwari
 
How Many Ohs? (An Integration Guide to Apex & Triple-o)
How Many Ohs? (An Integration Guide to Apex & Triple-o)How Many Ohs? (An Integration Guide to Apex & Triple-o)
How Many Ohs? (An Integration Guide to Apex & Triple-o)OPNFV
 
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)camunda services GmbH
 
Julien Simon "Scaling ML from 0 to millions of users"
Julien Simon "Scaling ML from 0 to millions of users"Julien Simon "Scaling ML from 0 to millions of users"
Julien Simon "Scaling ML from 0 to millions of users"Fwdays
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementWidoyo PH
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP DevelopersWes Yanaga
 
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapDive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapProvectus
 

Ähnlich wie Como ser um bom administrador de team foundation server vinicius moura (20)

nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsTen Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-ons
 
Asp.net tips
Asp.net tipsAsp.net tips
Asp.net tips
 
Performance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-MechanizePerformance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-Mechanize
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData Seattle
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Setting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your TestingSetting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your Testing
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Meetup bangalore aug31st2019
Meetup bangalore aug31st2019Meetup bangalore aug31st2019
Meetup bangalore aug31st2019
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
How Many Ohs? (An Integration Guide to Apex & Triple-o)
How Many Ohs? (An Integration Guide to Apex & Triple-o)How Many Ohs? (An Integration Guide to Apex & Triple-o)
How Many Ohs? (An Integration Guide to Apex & Triple-o)
 
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)
Camunda BPM 7.2: Tasklist and Javascript Forms SDK (English)
 
Julien Simon "Scaling ML from 0 to millions of users"
Julien Simon "Scaling ML from 0 to millions of users"Julien Simon "Scaling ML from 0 to millions of users"
Julien Simon "Scaling ML from 0 to millions of users"
 
Clontab webpage
Clontab webpageClontab webpage
Clontab webpage
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
 
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapDive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
 

Mehr von Vinicius Moura

Interop git hubactions v2
Interop git hubactions v2Interop git hubactions v2
Interop git hubactions v2Vinicius Moura
 
Desafios e dicas para uma migração bem sucedida do tfs para o vsts
Desafios e dicas para uma migração bem sucedida do tfs para o vstsDesafios e dicas para uma migração bem sucedida do tfs para o vsts
Desafios e dicas para uma migração bem sucedida do tfs para o vstsVinicius Moura
 
Vssummit dev ops calculando o débito técnico
Vssummit   dev ops calculando o débito técnicoVssummit   dev ops calculando o débito técnico
Vssummit dev ops calculando o débito técnicoVinicius Moura
 

Mehr von Vinicius Moura (8)

Interop git hubactions v2
Interop git hubactions v2Interop git hubactions v2
Interop git hubactions v2
 
GitHub Actions
GitHub ActionsGitHub Actions
GitHub Actions
 
Azure labs Vinicius
Azure labs ViniciusAzure labs Vinicius
Azure labs Vinicius
 
Desafios e dicas para uma migração bem sucedida do tfs para o vsts
Desafios e dicas para uma migração bem sucedida do tfs para o vstsDesafios e dicas para uma migração bem sucedida do tfs para o vsts
Desafios e dicas para uma migração bem sucedida do tfs para o vsts
 
Vssummit dev ops calculando o débito técnico
Vssummit   dev ops calculando o débito técnicoVssummit   dev ops calculando o débito técnico
Vssummit dev ops calculando o débito técnico
 
Alm e share point
Alm e share pointAlm e share point
Alm e share point
 
Alm summit 2012
Alm summit 2012Alm summit 2012
Alm summit 2012
 
Alm summit 2012
Alm summit 2012Alm summit 2012
Alm summit 2012
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Como ser um bom administrador de team foundation server vinicius moura

  • 1. ALM Summit Brasil 2014 ALM Summit Brasil 2014 Como ser um bom administrador de Team Foundation Server Vinicius Moura vinicius.moura@lambda3.com.br @vinijmoura ALM Rangers MCSD ALM
  • 2. ALM Summit Brasil 2014 Para aprender e/ou recordar API Camada de Dados (“Data Tier”) Camada de Aplicação (“Application Tier”) Camada de Cliente (“Client Tier”) Visual Studio Eclipse Windows Explorer Linha de comando Microsoft Excel Microsoft Project Aplicações
  • 3. ALM Summit Brasil 2014 Como administrar um ou mais servidor(es) de vários “pais”? Data Tier App Tier Proxy Server Build Server O que eu faço com esse monte de servidores?
  • 4. ALM Summit Brasil 2014 Backup das bases de dados • Cenário 2 – Backup Admin Console • Cenário 1 – Backup Trivial • Tfs_Configuration • Tfs_Collection – 1 à “N” • Tfs_Warehouse • ReportServer (2 bases) • SharePoint (3 bases) Vamos facilitar a sua vida? http://msdn.microsoft.com/en-us/library/hh561429.aspx
  • 5. ALM Summit Brasil 2014 Process Templates Dica importante: faça o versionamento do Process Template da sua empresa
  • 6. ALM Summit Brasil 2014 Process Templates Cenário do caos: Eu preciso atualizar 700 Team Projects para a inclusão de um novo campo no Work Item Type Bug • Resolução 1 – Utilizar o Process Template Editor e repetir o processo 700 vezes ;-)
  • 7. ALM Summit Brasil 2014 Process Templates • Resolução 2 – Utilizar a ferramenta TFS Administrators Toolkit http://visualstudiogallery.msdn.microsoft.com/33713c5d -31a3-44b3-ae94-3c413e6b21c7
  • 8. ALM Summit Brasil 2014 Process Templates • Resolução 3 – Linha de comando witadmin importwitd Select na tabela tbl_Project da tfs_Collection Salvar os nomes dos Team Projects em um arquivo txt Executar a linha de comando witadmin importwitd
  • 9. ALM Summit Brasil 2014 Process Templates witadmin importwitd /collection:collectionurl [/p:project] /f:filename /v FOR /F "tokens=1" %i in (C:tempprojetos.txt) DO witadmin importwitd /collection:http://vinimoura-pc: 8080/tfs/DefaulCollection /p:%i /f:"D:DesktopMicrosoft Visual Studio Scrum 2013.3WorkItem TrackingTypeDefinitionsBug.xml" /v > C:temp%i.txt
  • 10. ALM Summit Brasil 2014 Grupos e Usuários Permissionamento de usuários TFSSecurity /imx <identity> /collection:http://myservertfs:8080/tfs/Collec tion
  • 11. ALM Summit Brasil 2014 Grupos e Usuários Auditoria de usuários no TFS 2013
  • 12. ALM Summit Brasil 2014 A tabela tbl_command • Tabela de acessos ao TFS • Command • Start Time • Execution Time • IdentityName • IP • UserAgent A tabela tbl_command é limpa a cada 14 dias :(
  • 13. ALM Summit Brasil 2014 A tabela tbl_command Cenário 1: Como listar as versões de Visual Studio que se conectam ao meu TFS? SELECT DISTINCT UserAgent FROM tbl_Command ORDER BY UserAgent
  • 14. ALM Summit Brasil 2014 A tabela tbl_command Cenário 2: Performance dos comandos executados
  • 15. ALM Summit Brasil 2014 Scripts Power Shell Cenário 1: Criar branches param( [string] $ServerFolderLocation ) if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapin Microsoft.TeamFoundation.PowerShell } $CollectionURI="http://myserver/tfs/myCollection" $tfs=Get-TfsServer -name $CollectionURI $TfExePath = "C:Program FilesMicrosoft Visual Studio 12.0Common7IDETF.exe" $match="TRUNK" foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) { if ($item -match $match) { $branchpath = $item.ServerItem -replace "TRUNK", "BRANCHES" $branchpath = $branchpath & "$TfExePath" branch $item.ServerItem $branchpath /version:T /checkin /comment:"Created Branch" } }
  • 16. ALM Summit Brasil 2014 Scripts Power Shell Cenário 2: Converter pastas em branches param( [string] $ServerFolderLocation ) if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapin Microsoft.TeamFoundation.PowerShell } $CollectionURI="http://myserver/tfs/myCollection" $tfs=Get-TfsServer -name $CollectionURI $TfptExePath = "C:Program FilesMicrosoft Team Foundation Server 2013 Power ToolsTFPT.exe" $match="TRUNK" foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) { if ($item -match $match) { & "$TfptExePath" branches /convertToBranch /collection:$CollectionURI /description:"Convert to Branch" $item.ServerItem } }
  • 17. ALM Summit Brasil 2014 Scripts Power Shell Cenário 3: Criar work Itens param( [string] $ServerFolderLocation ) if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapin Microsoft.TeamFoundation.PowerShell } $CollectionURI="http://myserver/tfs/myCollection" $tfs=Get-TfsServer -name $CollectionURI $TfptExePath = "C:Program FilesMicrosoft Team Foundation Server 2013 Power ToolsTFPT.exe" $match=“BRANCHES" foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) { if ($item -match $match) { $title = $item.ServerItem $description = "Primeiro checkin - " + $title & "$TfptExePath" workitem /new myProjectUser Story /collection:$CollectionURI /Fields:"Title=$title;Description=$description" } }
  • 18. ALM Summit Brasil 2014 Scripts Power Shell Cenário 4: Permissionamento de Pastas param( [string] $ServerFolderLocation ) if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapin Microsoft.TeamFoundation.PowerShell } $CollectionURI="http://myserver/tfs/myCollection" $tfs=Get-TfsServer -name $CollectionURI $TfExePath = "C:Program FilesMicrosoft Visual Studio 12.0Common7IDETF.exe" $match="BRANCHES" foreach ($item in Get-TfsChildItem $ServerFolderLocation -f -r -server $tfs) { if ($item -match $match) { & "$TfExePath" permission /allow:"checkin,pendchange,merge" /group:Contributors/collection:$CollectionURI $item.ServerItem } }
  • 19. ALM Summit Brasil 2014 Gerenciamento de Builds Cenário 1: Meu build controller morreu e preciso executar o reapontamento de 200 Build Definitions TFS Community Build Manager - http://visualstudiogallery.msdn.microsoft.com/73bf2d8e-aec6- 406c-8e7f-1c678e46557f
  • 20. ALM Summit Brasil 2014 O “rei” dos Plug-ins – Neno Loje tfsRefresWarehouse tfsSyncIdentities http://blogs.msmvps.com/vstsblog/2014/05/05/upd ated-tools-for-tfs-2013/
  • 21. ALM Summit Brasil 2014 ALM Rangers • Solutions – http://aka.ms/vsarsolutions • Widgets – http://aka.ms/widgets
  • 22. ALM Summit Brasil 2014 ALM Summit Brasil 2014 Obrigado! vinicius.moura@lambda3.com.br @vinijmoura http://blog.lambda3.com.br/L3/viniciusmoura/