Administrador do TFS / VSTS use o console e Powershell

Em posts anteriores, reforço que um administrador de um servidor, de rede, e também do TFS / VSTS, deve saber usar o console, deve saber usar Powershell, na stack Microsoft, e futuramento no Linux, mas neste último existe a opção do bash também.

Porém isso é uma prática rara para quem trabalha com a plataforma Microsoft. Vamos começar a mudar esse paradigma, para isso vamos ver como podemos começar fazer uso do console e Powershell.

Microsoft Visual Studio Team Foundation Server 2015 Power Tools

Já escrevi sobre o TFPT aqui e mais recentemente aqui. Se você leu os posts já deve ter ele instalado, senão tem instale, sem ele não teremos os Cmdlets, ou command-lets, para o TFS / VSTS.

Na instalação escolha a opção customizada, e selecione Powershell CmdLets e escolha This feature will be installed on local hard drive.

Baixando apenas arquivos modificados em um único Changeset

O primeiro exemplo que vou mostrar aqui é bem básico, e vou utilizar o post do Viníciu MouraSource Control: Baixando apenas arquivos modificados em um único Changeset. Neste post, ele demonstra como baixar um changeset específico se você estiver utilizado o TFVC, usando na VM do Brian:

[code language=”powershell”]Get-TfsChangeset -ChangesetNumber 74[/code]

2016-02-02 02_10_26-Administrator_ Windows PowerShell

Lista dos arquivos alterados entre um changeset e outro

[code language=”powershell”]Get-TfsItemHistory $/fabrikamfiber -r -includeitems -version 74~73 | select-tfsitem | %{$_.path}[/code]

Aí está uma beleza do Powershell, essa única linha contém três comandos:

  • O cmdlet Get-TfsItemHistory, que irá trazer os changesets, com seus items
  • Select-TfsItem, que irá capturar os itens
  • e por último o % irá fazer um filtro e dar a saída somente do path, ignorando outras informações do comando anterior

2016-02-02 02_38_20-Administrator_ Windows PowerShell

Vai ficar ainda melhor!

Reports like a boss

Digamos que o seu processo de gestão de mudança inclua enviar uma relação de todos os arquivos alterados entre os changesets enviados pelos desenvolvedores nesta sprint… Como administrador do TFS / VSTS, você irá pedir para eles preencherem uma planilha?? PREENCHER uma planilha? Não!

Primeiro vamos colocar algumas características que queremos no relatório em uma variável $p, como abaixo:

[code language=”powershell”][email protected]{
Title = "Relatório de arquivos alterados, tirado em $(Get-Date)"
TitleFillPattern = "LightTrellis"
TitleSize = 18
TitleBold = $true

Path = "c:\YTemp\Report.xlsx"
Show = $true
AutoSize = $true
}[/code]

Nos formatamos o nome do relatório em Title, tamanho da fonte em TitleSize, colocamos em negrito em TitleBold, … Por fim, demos um nome e o path que o arquivo Excel deve ser criado, e que deve abrir a planilha em seguida ao executar, parâmetro Show. Se copiar e colar no console essas linhas, funciona, mesmo quebrando em várias.

Depois vamos executar o comando de exportação, passando essa variável:

[code language=”powershell”]Get-TfsItemHistory $/fabrikamfiber -r -includeitems -version 74~73 | select-tfsitem | % {$_.path} | Export-Excel @p[/code]

Lá no fim vai o Export-Excel, que é um módulo que instalei.

2016-02-02 04_26_29-Administrator_ Windows PowerShell

E vóila:

2016-02-02 04_27_25-Report.xlsx - Excel

Dicas:

  • Tirando o parâmetro Show é possível executar esse script no build! Lembre-se agora ele é “scriptado”! E em Powershell! Não sabia? Leia
  • Você só precisa instalar o módulo Powershell! Não precisa de Excel!! 😉

Para instalar o módulo, se você estiver rodando o Powershell V5 é só digitar:

[code language=”powershell”]Install-Module -Name ImportExcel[/code]

O módulo Excel parece simples, mas ele pode fazer a exportação criando gráficos, pivot tables, …

Tem alguma ideia de extração de relatório? Coloque nos comentários… pode virar o assunto de um futuro post.

Referências

Quer aprender mais sobre Powershell? Cmdlets? Baixe o PDF gratuito da série Succinctly aqui.

2 respostas para “Administrador do TFS / VSTS use o console e Powershell”

    1. Obrigado, Ricardo, por você acompanhar os posts!
      Sim, precisa, por exemplo, o Excel se você estiver usando o Powershell 5.0 é só executar:

      Install-Module ImportExcel

      Ele vai baixar do Powershell Gallery.

      Quanto ao Power Tools, se os comandos não estiverem carregados, você pode verificar procurando com o commando:

      Get-Command *Tfs* | where {$_.Source -like "Microsoft.TeamFoundation.PowerShell"}

      Para carregar, depois de instalado o Power Tools, execute:

      Add-PSSnapin Microsoft.TeamFoundation.PowerShell

      Irá carregar somente na sessão atual, mas é possível adicionar no seu perfil do Powershell.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *