Apresentação do BNB Developer Day (#bnbdevday) está disponível

Na semana passada tive o prazer de estar em Fortaleza para dois eventos importantes:

  • O Agile Brazil 2011, do qual nós da Lambda3 tivemos a honra de participar como patrocinadores e como palestrantes em várias trilhas;
  • E o BNB Developer Day, no Banco do Nordeste do Brasil. Neste evento, coordenado pelo pessoal da Microsoft Brasil, o pessoal do banco teve a oportunidade de conhecer o que há de novo em várias tecnologias de desenvolvimento de aplicações na plataforma MS.

Como convidado do time de Development Tools da MS Brasil (obrigado, Rodrigo!), tive a oportunidade de apresentar alguns dos recursos de ALM do Visual Studio 2010 para desenvolvedores e arquitetos. Atendendo a pedidos de todos os que participaram do evento, publico abaixo a apresentação que usei durante o evento.

Recursos avançados de desenvolvimento [slideshare id=8590710&w=425&h=355&sc=no]

Mais uma vez, obrigado ao pessoal do BNB pela hospitalidade. Espero estar em breve com vocês novamente!

Um abraço,

Igor Abade (@igorabade)

Check-in simultâneo em múltiplos team projects afeta políticas de check-in

Acabei de descobrir por acaso – através de uma pergunta do meu amigo MVP Daniel Oliveira – que o TFS pode apresentar um comportamento inesperado e deixar de executar algumas políticas sob certas circunstâncias.

Se você:

  • Usar a janela Pending Changes para fazer check-in de vários arquivos ao mesmo;
  • Selecionar arquivos pertencentes a diferentes team projects;
  • E tentar fazer o check-in de todos ao mesmo tempo;

Então somente serão executadas as políticas comuns a todos os projetos.

Em outras palavras: Dados os team projects ProjectA e ProjectB, configurados como a seguir;

  • ProjectA: Política de check-in Work Itemsativada;
  • ProjectB: Políticas de check-in Work Items e Code Analysis ativadas.

Ao efetuar o check-in dos arquivos $ProjectAfoo.cs e $ProjectBBar.cs (um de cada team project), apenas a política de Work Items (comum aos dois projetos) será executada. A política de Code Analysis será ignorada!

Quais as alternativas?

  1. Configurar todos os team projects para seguirem as mesmas políticas (nem sempre é viável);
  2. Fazer check-ins de apenas um team project por vez. Para evitar que o desenvolvedor se confunda e faça check-in de mais de um team project ao mesmo tempo, foi criado um add-in que alerta o desenvolvedor e impede o check-in “promíscuo”. Saiba mais em: http://social.msdn.microsoft.com/Forums/en/tfsversioncontrol/thread/a71ac2f0-dc9c-4c03-a6a3-ab59877c55d8

Um abraço,
Igor

O espaço em disco do meu TFS 2010 acabou! E agora?

Se você estiver usando o TFS 2010 em conjunto com as ferramentas de teste (como o Test Manager e o testes CodedUI), é bem provável que o banco de dados do TFS esteja sendo tomado pelos anexos gerados como parte do processo de testes.Arquivos de vídeo, logs do IntelliTrace, tudo isso pode fazer seu servidor esgotar rapidamente o espaço em disco!

Para poder gerenciar o consumo em disco desses anexos – e eliminar dados antigos que já não são mais úteis e só ocupam espaço – a Microsoft criou o Test Attachment Cleaner, disponível na Galeria do Visual Studio (Visual Studio Gallery).

Para download e mais informações, acesso o link abaixo:

Test Attachment Cleaner for Visual Studio Ultimate 2010 & Test Professional 2010

Um abraço,
Igor Abade

Desabilitando temporariamente o envio de emails do TFS 2010

Caso você precise desabilitar, por qualquer motivo, o envio dos emails gerados a partir dos Alertas do TFS 2010, pode tirar proveito de um comando não-documentado:

TfsConfig configureMail /Enabled:false

Quando quiser retomar o envio de emails, basta reabilitar o serviço executando novamente o comando acima usando o valor true.

Tutorial: Configurando TFS 2010 para enviar emails através de Exchange Online (BPOS)

O post de hoje surgiu de uma lição aprendida na prática que quero compartilhar há algum tempo.

Aqui na F|Camara usamos o serviço do Exchange Online (parte da oferta conhecida como BPOS e que foi rebatizada como Office 365).

Há alguns meses, ao migrar o TFS 2008 pré-existente aqui na empresa, percebi que o serviço de envio de emails do TFS não estava configurado – e, naturalmente, deveria configurá-lo para poder tirar proveito do serviço de alertas do TFS.

O mini-tutorial abaixo está focado especificamente na integração com o BPOS, mas na verdade pode ser adaptado sem maiores problemas para qualquer instalação integrada com Exchange.

1) Crie uma conta no Exchange Online

Pode parecer meio óbvio, mas não custa lembrar. É preciso criar uma caixa postal no Exchange para uso do TFS:

image (clique para ampliar)

Não se esqueça de anotar a senha – você vai precisar dela mais à frente. Se desejar, troque por uma senha mais forte.

image (clique para ampliar)
165

Dica: Como essa é uma caixa de email não-monitorada – ou seja, usada apenas para enviar e não para receber emails – você pode selecionar o menor tamanho de caixa postal disponível no seu plano BPOS:

image (clique para ampliar)

Recomendo também que você configure uma regra de exclusão de todos os emails recebidos por essa conta – caso contrário, você corre o risco de lotar a caixa de entrada sem saber. Afinal, não faz sentido monitorar essa caixa de entrada. Isso pode ser feito a partir do Outlook Web Access:

Exclusão automática de emails (clique para ampliar)

Finalmente, é conveniente avisar a seus usuários que os emails são apagados automaticamente. Assim, eles não ficam esperando respostas que nunca chegarão…

Configuração automática de email (clique para ampliar)
139

2) Prepare o serviço SMTP

Aqui começa o grande desafio. O Exchange, por padrão, exige que um usuário se autentique para enviar emails. O TFS, por outro lado, só tem duas opções – acesso anônimo ou autenticação integrada do Windows. Nenhuma das duas opções atende à exigência do BPOS.

Para contornar esse “impasse”, usamos o serviço de SMTP (parte do sistema operacional e integrado ao IIS).

Para ativar o serviço SMTP, instale a feature SMTP Server em seu servidor TFS:

Instalação do servidor SMTP (clique para ampliar)
138

Com o servidor SMTP devidamente instalado, vem a parte que pede mais atenção em todo o processo: configurar o roteamento para que o servidor SMTP receba, anonimamente, as mensagens vindas do TFS e faça a autenticação necessária para entregar o email no Exchange Online.

Primeiramente, abra a ferramenta de configuração do servidor SMTP em Administrative Tools | Internet Information Services (IIS) 6.0 Manager. Inicie o serviço SMTP (botão direito, “Start”) se necessário e então abra a caixa de diálogo de propriedades do servidor SMTP:

image (clique para ampliar)

A primeira providência é proteger seu servidor SMTP – afinal, ele só deve ser utilizado pelo proóprio TFS, sem que nenhum computador externo possa utilizá-lo. Para isso, clique no botão Connection da guia Access:

image (clique para ampliar)
244

E então limite o acesso apenas ao IP de loopback (127.0.0.1) e ao IP interno da placa de rede do TFS (recomendo que você configure a placa do TFS com um IP estático):

image (clique para ampliar)
191

Agora é a hora de configurar o acesso ao Exchange Online. Clique em Outbound Security na guia Delivery:

image (clique para ampliar)

Aqui, você informa as credenciais da caixa de correio criada para o TFS. É importante selecionar também a opção TLS encryption:

image (clique para ampliar)
244

Agora, no botão Outbound Connections configuramos a porta de conexão do Exchange Online (587):

image (clique para ampliar)
244

Finalmente, no botão Advanced, passamos o endereço do servidor do Exchange Online. Note que, em Fully-qualified domain name, é importante colocar um nome de domínio “inválido” (algo como “sua-empresa.local”) para forçar o uso do smart host (o Exchange Online) para a entrega de emails. Caso contrário, se eu tivesse colocado, por exemplo, fcamara.com.br como nome do domínio, o meu servidor SMTP local tentaria entregar por conta própria qualquer email que o TFS tentasse enviar para alguém da F|Camara (ao invés de rotear para o Exchange).

image (clique para ampliar)
244

Essa é toda a configuração necessária para o SMTP. Resta, agora, dizer ao TFS como usar esse novo servidor de emails.

3) Configure o TFS

Abra, agora, o TFS Administration Console. No item Application Tier, clique em Alert Settings:

image (clique para ampliar)
147

Coloque o endereço de email da caixa de correio criada para o TFS, informe o servidor SMTP (localhost) e pronto!

image (Clique para ampliar)
147

Por favor, compartilhe depois nos comentários como foi sua experiência com a configuração do TFS para a integração com o BPOS.