como ser um bom administrador de team foundation server vinicius moura
DESCRIPTION
Palestra do ALM Summit Brasil 2014TRANSCRIPT
![Page 1: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/1.jpg)
ALM Summit Brasil 2014
ALM Summit Brasil 2014
Como ser um bom administrador de Team
Foundation Server
Vinicius Moura
@vinijmoura
ALM Rangers
MCSD ALM
![Page 2: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/2.jpg)
ALM Summit Brasil 2014
Para aprender e/ou recordar
API
Camada de Aplicação(“Application Tier”)
Camada de Cliente(“Client Tier”)
Camada de Dados(“Data Tier”)
Visual Studio
Eclipse
WindowsExplorer
Linha decomando
MicrosoftExcel
MicrosoftProject
Aplicações
![Page 3: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/3.jpg)
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?
![Page 4: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/4.jpg)
ALM Summit Brasil 2014
Backup das bases de dados• Cenário 2 – Backup
Admin Console
http://msdn.microsoft.com/en-us/library/hh561429.aspx
Vamos facilitar a sua vida?
• Cenário 1 – Backup Trivial• Tfs_Configuration• Tfs_Collection – 1 à
“N”• Tfs_Warehouse• ReportServer (2
bases)• SharePoint (3 bases)
![Page 5: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/5.jpg)
ALM Summit Brasil 2014
Process TemplatesDica importante: faça o versionamento do Process Template da sua empresa
![Page 6: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/6.jpg)
ALM Summit Brasil 2014
Process TemplatesCená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 ;-)
![Page 7: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/7.jpg)
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
![Page 8: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/8.jpg)
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
![Page 9: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/9.jpg)
ALM Summit Brasil 2014
Process Templates
witadmin importwitd /collection:collectionurl [/p:project] /f:filename /v
FOR /F "tokens=1" %i in (C:\temp\projetos.txt) DO witadmin importwitd /collection:http://vinimoura-pc:8080/tfs/DefaulCollection /p:%i /f:"D:\Desktop\Microsoft Visual Studio Scrum 2013.3\WorkItem Tracking\TypeDefinitions\Bug.xml" /v > C:\temp\%i.txt
![Page 10: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/10.jpg)
ALM Summit Brasil 2014
Grupos e UsuáriosPermissionamento de usuários
TFSSecurity /imx <identity> /collection:http://myservertfs:8080/tfs/Collection
![Page 11: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/11.jpg)
ALM Summit Brasil 2014
Grupos e UsuáriosAuditoria de usuários no TFS 2013
![Page 12: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/12.jpg)
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 :(
![Page 13: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/13.jpg)
ALM Summit Brasil 2014
A tabela tbl_commandCenário 1: Como listar as versões de Visual Studio que se conectam ao meu TFS?
SELECT DISTINCT UserAgentFROM tbl_CommandORDER BY UserAgent
![Page 14: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/14.jpg)
ALM Summit Brasil 2014
A tabela tbl_commandCenário 2: Performance dos comandos executados
![Page 15: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/15.jpg)
ALM Summit Brasil 2014
Scripts Power ShellCená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 Files\Microsoft Visual Studio 12.0\Common7\IDE\TF.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"}
}
![Page 16: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/16.jpg)
ALM Summit Brasil 2014
Scripts Power ShellCená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 Files\Microsoft Team Foundation Server 2013 Power Tools\TFPT.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
} }
![Page 17: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/17.jpg)
ALM Summit Brasil 2014
Scripts Power ShellCená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 Files\Microsoft Team Foundation Server 2013 Power Tools\TFPT.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 myProject\User Story /collection:
$CollectionURI /Fields:"Title=$title;Description=$description" }
}
![Page 18: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/18.jpg)
ALM Summit Brasil 2014
Scripts Power ShellCená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 Files\Microsoft Visual Studio 12.0\Common7\IDE\TF.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
} }
![Page 19: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/19.jpg)
ALM Summit Brasil 2014
Gerenciamento de BuildsCená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
![Page 20: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/20.jpg)
ALM Summit Brasil 2014
O “rei” dos Plug-ins – Neno Loje
tfsRefresWarehousetfsSyncIdentities
http://blogs.msmvps.com/vstsblog/2014/05/05/updated-tools-for-tfs-2013/
![Page 21: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/21.jpg)
ALM Summit Brasil 2014
ALM Rangers• Solutions – http://aka.ms/vsarsolutions• Widgets – http://aka.ms/widgets
![Page 22: Como ser um bom administrador de team foundation server vinicius moura](https://reader034.vdocuments.pub/reader034/viewer/2022042623/5483deeab07959290c8b4a58/html5/thumbnails/22.jpg)
ALM Summit Brasil 2014
ALM Summit Brasil 2014
Obrigado!
@vinijmoura
http://blog.lambda3.com.br/L3/viniciusmoura/