como ser um bom administrador de team foundation server vinicius moura

Post on 05-Dec-2014

441 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra do ALM Summit Brasil 2014

TRANSCRIPT

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 Aplicação(“Application Tier”)

Camada de Cliente(“Client Tier”)

Camada de Dados(“Data Tier”)

Visual Studio

Eclipse

WindowsExplorer

Linha decomando

MicrosoftExcel

MicrosoftProject

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

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)

ALM Summit Brasil 2014

Process TemplatesDica importante: faça o versionamento do Process Template da sua empresa

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 ;-)

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:\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

ALM Summit Brasil 2014

Grupos e UsuáriosPermissionamento de usuários

TFSSecurity /imx <identity> /collection:http://myservertfs:8080/tfs/Collection

ALM Summit Brasil 2014

Grupos e UsuáriosAuditoria 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_commandCenário 1: Como listar as versões de Visual Studio que se conectam ao meu TFS?

SELECT DISTINCT UserAgentFROM tbl_CommandORDER BY UserAgent

ALM Summit Brasil 2014

A tabela tbl_commandCenário 2: Performance dos comandos executados

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"}

}

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

} }

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" }

}

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

} }

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/

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/

top related