Integração Contínua com o TeamCity e o GitLab

O TeamCity é flexível e adaptável a qualquer workflow e oferece ferramentas poderosas de CI, com excelente suporte à integração com o GitLab.com, o GitLab Enterprise Edition e o GitLab Community Edition.

Crie em escala onde outros falham

À medida que os projetos crescem em tamanho e complexidade, fica cada vez mais difícil manter um processo eficiente de entrega usando apenas os recursos próprios de CI do GitLab. É aqui que entra o TeamCity para resolver o problema! O TeamCity é uma solução de CI/CD de uso geral que não obriga a seguir nenhum workflow específico e oferece a máxima flexibilidade e capacidade de configuração para equipes de todos os tamanhos.

Multiplataforma, multinuvem, multilinguagem

O TeamCity está disponível para Linux, Windows e macOS, e pode ser executado no seu próprio hardware, na sua infraestrutura preferida na nuvem, em um cluster Kubernetes ou em qualquer combinação destas opções. Ele dá suporte a todas as linguagens de programação e se integra a todas as ferramentas populares para desenvolver e testar software.

Obtenha feedback útil

O TeamCity entrega feedback valioso e útil sobre as falhas de build e teste, para tornar o seu processo de desenvolvimento muito mais eficiente. Ele notifica sobre testes falhados em tempo real, mantém o seu histórico de builds, registra sua duração e marca testes instáveis como não confiáveis. Cada teste pode incluir rastreios da pilha, capturas de tela, logs e outros dados necessários para uma investigação rápida.

Suporte a qualquer workflow

Não poderia ser mais simples configurar a integração contínua dos seus projetos do GitLab. Depois de configurar uma conexão aos seus repositórios do GitLab, bastam apenas alguns cliques para criar um novo projeto do TeamCity. Não importa como você organize os seus projetos e workflows, o TeamCity pode fazer o build.

  • Execute builds e testes de unidade a cada commit e receba feedback imediato das suas alterações.
  • Crie workflows personalizados, baseados no nome de usuário, nome do branch, mensagem de commit ou alterações no arquivo.
  • Acione builds quando uma solicitação de mesclagem for aberta, para executar testes automatizados antes de uma revisão de código.
  • Agende builds noturnos para executar um conjunto completo de testes de regressão e manter uma alta qualidade do código.
  • Automatize um conjunto completo de builds e testes quando as alterações forem mescladas a um branch de lançamento.
  • Inicie um build de projeto dependente assim que outro build relacionado terminar com sucesso.

Você pode usar o TeamCity para combinar várias linguagens de programação, plataformas e infraestruturas de build em um único e robusto pipeline de CI. Você pode até adicionar várias raízes de VCS para criar pipelines de build para projetos com repositórios hospedados tanto no GitLab quanto em outros VCS, incluindo GitHub, Bitbucket, Azure DevOps, Mercurial, Subversion e Perforce. Leia mais sobre integrações com VCS.

Automação pós-build

Com suporte total aos recursos do GitLab, o TeamCity se integra de forma suave e transparente a ele, dando a você uma visão abrangente dos seus processos de DevOps.

Publicação do status de build

O TeamCity pode publicar o status atual de cada build no GitLab em tempo real — desde o momento em que o build é adicionado à fila até aquele em que ele é completado — para que você possa monitorar o andamento e visualizar os resultados diretamente do commit ou da solicitação de merge.

Para mais detalhes, veja a seção Commit Status Publisher da nossa documentação.

Mesclagem automatizada e manual

Você pode configurar regras para mesclar alterações a um branch automaticamente, como parte do pipeline de CI. Com o suporte a mesclagens em cascata, você pode criar workflows sofisticados para efetuar alterações em branches protegidos de integração e lançamento. Se algum teste falhar ou alguma outra condição de mesclagem automática não for satisfeita, você ainda poderá optar por mesclar as alterações manualmente, diretamente a partir da interface de usuário do TeamCity, sem ter que voltar ao GitLab.

Para mais detalhes, veja as seções Automatic Merge e Manual Branch Merging da nossa documentação.

Rotulagem de VCS

O TeamCity torna fácil definir tags de Git para registrar automática ou manualmente números de versões para os códigos-fonte de todos os builds ou só dos bem-sucedidos.

Para mais detalhes, veja a seção VCS Labeling da nossa documentação.

Integração com rastreadores de issues

Você pode ver os dados detalhados de quaisquer issues do GitLab referenciadas nas mensagens de commit diretamente de dentro da interface de usuário do TeamCity.

Para mais detalhes, veja a seção Integrating TeamCity with Issue Tracker da nossa documentação.

Notificações instantâneas

Notifique os autores de commits e os membros da equipe sobre builds e testes falhados, celebre execuções bem-sucedidas de testes ou informe aos revisores de código quando as verificações de CI tiverem sido completadas e as alterações estiverem prontas para revisão. O TeamCity oferece suporte nativo para Slack, e-mail e notificações no IDE e no navegador, enquanto o rico ecossistema de plug-ins oferece suporte adicional a notificações pelo Microsoft Teams, Telegram e Discord.

Autenticação otimizada

Seja usando o TeamCity Cloud ou o TeamCity On-Premises, você pode usar sua conta existente do GitLab.com ou do GitLab CE/EE para fornecer gerenciamento de identidades e acessos.

  • Permita que os usuários entrem no TeamCity com suas credenciais já existentes do GitLab.
  • Como os resultados e builds e testes são publicados automaticamente no GitLab, você pode escolher se permite que todos os seus usuários do GitLab acessem o TeamCity ou restringir o acesso a um subconjunto dos seus usuários, responsável pela configuração dos pipelines de build.
  • Mapeie usuários existentes do TeamCity a perfis do GitLab.
  • Configure as permissões dos usuários no TeamCity independentemente das suas funções no GitLab.

Recursos poderosos do TeamCity para complementar o seu workflow

Inteligência de testes em tempo real

Quando builds e testes falham, a mais alta prioridade é compreender a natureza do problema e identificar a raiz do problema. O TeamCity pode:

  • Identifique o commit exato que introduziu uma falha, notifique o autor da alteração e atribua investigações automaticamente.
  • Analise o seu histórico de testes para identificar falhas corrigidas em builds subsequentes e identificar testes não confiáveis.
  • Use inspeções do IntelliJ IDEA ou do ReSharper para fornecer resultados de análises estáticas de código como parte do seu pipeline de build.
  • Meça a extensão da sua cobertura de testes automatizados com suporte nativo a ferramentas de Java e .NET e integrações com muitos outros executores de build, incluindo Ant, Maven e Python.

Otimizações de CI

Loops curtos e rápidos de feedback são críticos para uma estratégia eficaz de DevOps. O TeamCity otimiza os workflows de build e de teste, e rapidamente fornece insights sobre as suas últimas alterações, acelerando o seu processo de lançamento e dando a você mais tempo para investigar e resolver quaisquer problemas.

  • As etapas de build são otimizadas como padrão para reutilizar artefatos de build não modificados.
  • O TeamCity identifica automaticamente os agentes de build mais rápidos e a ordem mais eficiente das tarefas, levando a uma considerável economia de recursos computacionais e de tempo em grandes projetos.
  • Obtenha feedback mais rapidamente distribuindo testes automatizados entre diversos agentes, com paralelização automática.
  • Os resultados dos testes são relatados em tempo real, para que você possa começar a investigar as falhas antes mesmo que a etapa de build termine.

FAQ: Integração Contínua com o TeamCity e o GitLab

O recurso de integração do TeamCity com o GitLab é gratuito?

A integração com o GitLab está disponível em todas as versões do TeamCity, incluindo a versão gratuita de execução local. Você também pode testá-lo gratuitamente no TeamCity Cloud, que vem com um período de teste de 14 dias.

O TeamCity é melhor que o GitLab?

Uma comparação do TeamCity com o GitLab não é exata, porque elas são ferramentas de tipos diferentes. O TeamCity oferece mais recursos e flexibilidade que as funções de CI/CD embutidas no GitLab, mas o TeamCity não tem recursos como rastreamento de issues ou hospedagem de Git.

O TeamCity suporta o GitLab Container Registry?

Sim, o TeamCity tem suporte a todos os registros populares do Docker, incluindo o GitLab Container Registry. Além das operações comuns de pull e execução, o TeamCity também pode remover automaticamente as imagens desatualizadas do Docker durante a limpeza do servidor, o que é especialmente útil em configurações de CI/CD de execução local.

Saiba mais sobre a integração do TeamCity com o Docker.

Posso fazer o build do meu código no TeamCity sem precisar fazer commit dele no GitLab?

Instalando o plug-in do TeamCity em um IDE baseado no IntelliJ ou no Visual Studio, você pode executar um pipeline de CI no seu código sem precisar fazer o commit dele. Os desenvolvedores de jogos são os que mais gostam deste recurso.