Este artigo foi traduzido por máquina.

Serviço do Team Foundation

Implementando a automação de compilação com a visualização do Serviço do Team Foundation

Tim Star
Tim Omta
Mario Contreras

 

Neste artigo você vai descobrir como implementar a automação de compilação com Team Foundation serviço Preview (visualização do TFS). Como Visual Studio ALM Rangers, temos vindo a utilizar TFS visualização para executar compilações inteiramente na nuvem desde março. Embora o suporte seja no lugar de todos os recursos do Team Build — incluindo gated check-ins e as definições de compilação personalizada — nosso foco neste artigo não é sobre os recursos de compilação básico do TFS Preview. Em vez disso, mostraremos como configurar a compilação automação local para cenários onde a equipe de desenvolvimento precisa de mais controle sobre a configuração da máquina de compilação que está disponível no Windows Azure.

Para informações detalhadas sobre como executar uma compilação na visualização de TFS, consulte Aaron Bjork "Visual Studio ALM + Team Foundation Server Blog" em bit.ly/H9epDn.

Para recapitular, os Rangers são um grupo de especialistas que promovem a colaboração entre o grupo de produtos do Visual Studio, Microsoft Services e Microsoft MVP Most Valuable Professional () Comunidade de endereçamento funcionalidade ausente, removendo bloqueadores de adopção e publicação de práticas recomendadas e diretrizes com base na experiência do mundo real.

Ligação TFS Preview ao serviço do Team Foundation compilação

Para automatizar compilações de seus projetos de software, você usar Team Foundation Build Service para criar uma máquina de compilação que executa qualquer local ou em um cenário hospedado. Uma vez que sua máquina de compilação estiver configurada, você precisará criar uma definição de compilação no Visual Studio com instruções sobre quais projetos de código para compilar e como configurar muitas outras opções. Primeiro você deve escolher o seu cenário de implantação para serviço Team Foundation Build e configurar a sua máquina de compilação apropriadamente.

Preparação para a instalação antes de instalar o serviço Team Foundation Build em um computador conectado ao TFS Preview, você precisará executar as seguintes tarefas:

  • Certifique-se de usar o serviço Team Foundation Build disponível com Team Foundation Server 2012. O agente de compilação do Team Foundation Server 2010 e o controlador não são compatíveis com o serviço de Team Foundation sobre Windows Azure Preview. Você deve usar o software de servidor de compilação que faz parte do Team Foundation Server 2012.
  • Inscrever-se para a visualização do TFS.
  • Identifica a URL para seu projeto de coleção na visualização de TFS.
  • Configurar suas credenciais de usuário para ter "Editar coleção nível infor­mação" permissões, que constam as permissões padrão para os grupos de administradores de construir projeto coleção.
  • Configure o firewall para permitir conexões de entrada na porta TCP 9191 no firewall hospedado máquina virtual (VM) para que TFS Preview possa se comunicar com o serviço de compilação. Para garantir a segurança e a integridade da sua máquina de compilação, mantenha sempre o Firewall do Windows ativado.

Instalando, configurando e executando o processo de implantação de serviço Team Foundation Build em uma máquina física hospedada ou uma VM ligada à visualização do TFS é quase idêntico da implantação de um local Team Foundation Server, conforme descrito no artigo da biblioteca MSDN, "como: Instalar serviço Team Foundation Build,"em bit.ly/Oazdwd e ALM Rangers"Instalando construir para serviço Team Foundation"guia em go.microsoft.com/fwlink/?LinkID=251576.

A principal diferença é como você segura a queda de compilação. Embora você possa criar uma pasta compartilhada de gota de compilação no computador físico hospedado ou VM, você não deve expor a pasta compartilhada diretamente à Internet. Você não quer aumentar a superfície de ataque do servidor de compilação. Conforme ilustrado no Figura 1, usando o recurso Secure FTP do IIS e publicar a pasta-depósito de compilação são provavelmente o melhor método para fazer suas compilações com segurança disponíveis através da Internet.


Figura 1 garantiu construir acesso de lista

Lidando com desempenho, largura de banda e preocupações Download automação de Build é geralmente uma operação de alta utilização de e/S. Quando você considera que a maioria compilações irão baixar o código-fonte completo de uma solução, tampões de download e largura de banda disponíveis são um factor importante. Para reduzir o número de arquivos baixados durante cada compilação, você deve considerar a criação de Team Foundation servidor Proxy. O proxy aumenta o throughput da rede, cache cópias dos arquivos de controle de origem em um local remoto. Armazenando cópias no local, o proxy ajuda o processo de compilação evitar um dispendioso download dos arquivos. Cache cópias no local definitivamente reduz o consumo de largura de banda, que vai afetar o caps download imposto pelo seu provedor de Internet, bem como melhorar o desempenho global do processo de compilação.

Configurando no local construir servidores

Para implantar um servidor de compilação no local que utiliza a visualização do TFS na nuvem, é preciso tomar emprestado alguns conceitos e práticas da indústria de hospedagem Web. Mais corporate Web Hospedagem de ambientes, uma rede de perímetro (também conhecida como zona desmilitarizada — ou DMZ — ou sub-rede filtrada) é usado para criar uma rede segura ou enclave. A rede de perímetro separa servidores expostos à Internet da rede corporativa.

Uma rede de perímetro pode ser implementada em algumas maneiras. Tradicionalmente, ele é implementado utilizando dois firewalls fisicamente separados, cada restringindo o fluxo de tráfego de e para as redes, conforme ilustrado no Figura 2.


Figura 2 rede de perímetro com dois Firewalls separados

Uma abordagem mais moderna para implementar uma rede de perímetro usa uma segura Rede Local Virtual (VLAN) e depende de um único firewall que controla todo o tráfego de rede, como mostrado na Figura 3.


Figura 3 a rede de perímetro com redes locais virtuais

Configuração do firewall para TFS visualização e comunicação de serviço Team Foundation compilação

Devido as inúmeras variações na configuração de firewall entre os vários fabricantes, vamos limitar nossa discussão a nível conceitual. Neste contexto, dois aspectos da configuração do firewall são importantes: regras de publicação e acesso.

Publicação refere-se ao ato de abertura de portas TCP e UDP User Datagram Protocol () sobre a face externa interface ou rede de área ampla do firewall para disponibilizar serviços como acesso Web, e-mail e rede privada Virtual na Internet. Para manter um servidor de compilação segura, você precisa definir a publicação em seu firewall da seguinte maneira:

  • Interface: Externo
  • Número da porta: 9191
  • TCP/UDP TCP
  • Scope: Todas as redes (Internet)

Observe que o escopo é definido como "Todas as redes (Internet)." Você pode querer considerar limitar o escopo da publicação ao conjunto de TFS Preview para evitar que outros clientes ou hosts na Internet acessem esta máquina de IP. Adicionando restrições de tráfego, adiciona uma segunda camada de segurança. Você pode obter a mais recente IPs do TFS visualização, fazendo uma pesquisa de servidor de nome DNS. Tenha em mente que o IPs pode mudar a qualquer momento. Alguns firewalls têm a capacidade de fazer uma pesquisa inversa contra o nome de domínio totalmente qualificado de um host para ajudá-lo a monitorar IPs atual.

Regras de acesso são as restrições impostas no tráfego de rede entre as interfaces internas e externas de um firewall. Para manter um servidor de compilação segura, você precisa definir as regras de acesso no seu firewall conforme Figura 4.

Figura 4 definindo regras de acesso

Origem Destino Protocolo Port Description

Rede interna

(Construir servidor IP)

Interface externa

(Internet)

HTTPS 8080 Comunicações seguras com visualização do TFS

Interface externa

(Internet)

Construir servidor (IP) HTTPS 9191 Team Foundation Build ervice

Detecção de intrusões com qualquer infra-estrutura de hospedagem Web, você precisa considerar a implementação de deteção de intrusão quando você publica um servidor de Team Foundation Build Service para a Internet.

Preview de TFS e Team Foundation Build Service comunicação você pode reforçar a segurança de sua implantação de servidor de compilação no local ligada ao TFS Preview Configurando os serviços que utiliza. Recomendamos que você configure sua implantação para exigir HTTPS com SSL para maximizar a segurança de sua implantação.

Para configurar os serviços para usar HTTPS com SSL, você precisa o seguinte:

  • Um certificado SSL emitido por uma autoridade de certificação comercial (CA).
  • Um nome de domínio de Internet registrado.
  • Um registro de nome de host DNS ou alias (CNAME) resolver para o IP externo (voltado para a Internet) do servidor de compilação usando seu nome de domínio registrado. (Para adquirir um certificado SSL de uma autoridade de certificação comercial, você precisa um nome de domínio registrado).
  • Privilégios de administrador locais no servidor de compilação.
  • Um endereço IP interno, mapeado para o endereço IP externo para o servidor de compilação no seu firewall.

Depois que você encontrou estes requisitos, você precisará abrir TCP porta 9191 do firewall e encaminhá-lo para o endereço IP interno do servidor de compilação e, em seguida, configurar o serviço Team Foundation Build para usar SSL.

Instruções sobre como configurar o SSL para o serviço de compilação do Team Foundation Server 2010 estão disponíveis no subtópico biblioteca MSDN, "Instalando o certificado servidores de compilação," em bit.ly/OA10Vz.

Configuração a autenticação para executar o Assistente de configuração do serviço de compilação e adicionar uma instância do serviço Team Foundation Build para TFS Preview, você precisa de duas contas de usuário:

  • Windows Live ID mapeado para um projeto de coleção em uma conta de visualização do TFS (assinatura)
  • Conta de usuário local ou de domínio para usar como uma conta de serviço no servidor de compilação

Durante a fase de configuração inicial, o Assistente de configuração do serviço de compilação usa o Windows Live ID para obter acesso ao TFS Preview e estabelecer um mapeamento entre o projeto de coleção e o servidor de compilação. Posteriormente, você precisará fornecer as credenciais da conta de serviço para um domínio ou uma conta de usuário local. Usando uma conta de usuário de domínio como uma conta de serviço é a melhor opção de segurança. Contas de usuário de domínio oferecem uma abordagem mais simples quando usando uma pasta de compartilhamento em outro servidor.

Compilações de monitoramento você pode monitorar suas compilações através da ferramenta de poder construir as notificações que faz parte do lançamento do Team Foundation Server 2010 Power Tools (dezembro de 2011). Figura 5 mostra a caixa de diálogo criar opções de notificações. Se você estiver trabalhando com Visual Studio 2012, você precisará instalar o Team Explorer 2010 SP1 e a atualização de compatibilidade do GDR antes de instalar o Team Foundation Server 2010 Power Tools. Você não precisa se preocupar com conflitos de versão porque lado a instalação do Visual Studio 2012 e Visual Studio 2010 é suportada.


Figura 5 monitoramento construir Status

Configurando definições de compilação de equipe com o controlador de compilação hospedado

Visualização do TFS fornece um pool de máquinas de construção que pode compilar, testar e empacotar o aplicativo.

Configurar um controlador de construir hospedado para utilizar um controlador de compilação hospedado, a única configuração necessária é que a sua definição de compilação deve especificar o controlador de compilação hospedado na guia construir padrões, como mostrado no Figura 6.


Figura 6 selecionando um hospedado construir controlador

Lidar com restrições de com visualização de TFS, você não tem controle completo sobre a máquina de compilação, o que significa que se você tem uma dependência externa em seu projeto, você precisa habilitá-lo ser baixado de um público NuGet alimentar ou check-in.

O Visual Studio 2012 e o Visual Studio 2010 SP1 (que requer a atualização de compatibilidade do GDR) ambientes de desenvolvimento são instalados na imagem TFS Preview build, que significa que apenas os projetos criados com essas versões do Visual Studio são suportados.

Se você quiser construir apps da loja do Windows, você precisará instalar o serviço de compilação no Windows 8. Para obter mais informações sobre como usar Team Foundation Build para construir e testar um aplicativo de armazenamento do Windows, vá para bit.ly/T3tFSt.

Testes de unidade TFS visualização suporta como parte da compilação de teste de unidade. Testes de unidade usando MSTest trabalho sem configuração adicional. Para executar testes usando outros frameworks de testes de unidade, como NUnit ou xUnit, você precisa verificar se os conjuntos de adaptador de teste correspondente são verificados no controle de origem e depois defina do controlador de compilação "Caminho controle de versão para Custom Assemblies" neste local.

Identificação de cenários complexos de construir decidir qual configuração de compilação é melhor para você depende da complexidade da sua construção. Simples construir cenários com nenhuma implantação automatizada, o serviço de compilação hospedado na visualização do TFS é suficiente. Para processos de compilação que são mais complexos, você deve usar uma configuração de compilação no local. Uma configuração de compilação complexo incluiria qualquer modelo de compilação que satisfaz pelo menos um desses critérios:

  • Tem automatizado atividades de implantação no seu fluxo de trabalho
  • Contém soluções que foram criadas em versões anteriores do Visual Studio que Visual Studio 2010 SP1
  • Chama Visual Studio Lab Management
  • Interage com uma máquina no local
  • Requer uma estrutura de testes sem um adaptador de teste do Visual Studio

Soluções que exigem conjuntos de terceiros podem ser construídas em TFS visualização enquanto você verificar esses assemblies em controle de versão ou permitir a sua solução para baixá-los de um público NuGet alimentar.

Automated Testing and Lab Management apesar de visualização do TFS atualmente não oferece suporte a Visual Studio Lab Management, você ainda pode criar e executar vários tipos de testes automatizados com o Visual Studio. Estes são alguns exemplos:

  • Testes de unidade
  • Testes de interface do usuário codificados
  • Testes de desempenho de Web
  • Testes de carga
  • Testes genéricos

Você pode executar esses testes após uma compilação concluída para avaliar sua qualidade. Estes testes são freqüentemente chamados de compilação verification tests (BVTs) ou testes de fumaça. Eles geralmente consistem de um amplo conjunto de testes que são usados para verificar as áreas-chave de um aplicativo em uma compilação específica. Uma compilação é considerada um sucesso se passarem todos os testes no BVT.

Artigo da biblioteca MSDN on-line, "como: Configurar e executar testes de agendada após a criação do aplicativo,"em bit.ly/P2EKB7 descreve todos os procedimentos necessários para criar e executar BVTs.

Fazendo codificados testes de interface do usuário em um Team Build você pode usar um teste de interface do usuário codificado para apimentar seus BVTs. Um teste codificado de interface do usuário inicia um aplicativo como parte da execução do teste. Certifique-se de configurar a conta de serviço para o serviço de compilação é usada para iniciar o aplicativo. Essa conta de serviço tem que ser o mesmo que a conta de usuário do usuário ativo neste computador. Se a conta de serviço e a conta de usuário não são os mesmos, o aplicativo não será iniciado. Você também precisa garantir que o Host de serviço construir executado como serviço a construir é definida como processo interativo no Team Foundation configuração do servidor administração Console/Team Foundation Build.

Olhando para o futuro

No futuro artigos, nós vai fornecer orientação sobre como instalar e configurar o TFS Preview para permitir colaboração para lojas de desenvolvimento empresarial que deseja utilizar os serviços das lojas de desenvolvimento remoto como parte de um modelo de terceirização. Para obter mais informações sobre os ALM Rangers, consulte bit.ly/HrYqAl.

Mario Contreras é consultor sênior com Microsoft Consulting Services, um treinador de ALM e palestrante assíduo em conferências técnicas baseadas em Toronto. Durante seu mandato na Microsoft Canadá, ele levou algumas das maiores implementações de Team Foundation Server. Contreras é um membro ativo da equipe Visual Studio ALM Rangers.

Tim Omta é gerente de desenvolvimento de aplicativo sênior em Phoenix. Trabalhou para a Microsoft como um desenvolvedor de produtos e um desenvolvedor de teste e atualmente é consultor de campo através de suporte Premier da Microsoft para desenvolvedores. Omta é um membro ativo do ALM Rangers.

Tim Star é consultor principal com Intertech Inc., com foco em treinamento, consultoria e Visual Studio ALM. Ele é um MCPD, MCTS, MCT, Visual Studio ALM externo Ranger e três vezes MVP award destinatário. Ele passa seu código de escrita do tempo, ensino e fornecendo orientação de ALM.

Agradecemos aos seguintes especialistas técnicos pela revisão deste artigo: Jim Lamb, Mario Rodriguez, Willy-Peter Schaub e Patricia Wagner