Dimensione seus builds automatizados com a integração entre o TeamCity e o Kubernetes

Implante agentes de build do TeamCity no seu cluster Kubernetes para obter uma solução de CI/CD robusta e escalável, na nuvem ou em servidores próprios.

Pipelines de integração e entrega contínuas para Kubernetes com o TeamCity

O Kubernetes permite que as equipes se “abstraiam” do uso e da dependência de servidores físicos. Com a ajuda do Kubernetes, os usuários obtêm um serviço consistente e contínuo: as equipes de TI podem parar de usar qualquer servidor a qualquer momento, retirá-lo para manutenção e depois recolocá-lo em operação.

O Kubernetes também permite otimizar recursos, iniciando várias tarefas no mesmo servidor.

Com a integração entre o TeamCity e o Kubernetes, as equipes de operações não precisam escolher entre provisionamento excessivo e riscos de disponibilidade reduzida do servidor quando a contenção de recursos aumentar.

Escolha o formato do seu TeamCity:

Integre o TeamCity com seu cluster Kubernetes

Graças ao plug-in de suporte ao Kubernetes, o TeamCity pode executar agentes de build no seu cluster Kubernetes. Como esse plug-in vem junto com o TeamCity, você não precisa baixá-lo ou instalá-lo separadamente.

  • Implemente uma arquitetura de CI/CD escalável sobre o Kubernetes. Os agentes de build podem ser iniciados automaticamente quando você precisar deles, fazer seu trabalho e, em seguida, ser removidos após a conclusão do build. O TeamCity iniciará containers com agentes do TeamCity instalados sob demanda enquanto distribui uma fila de build.
  • Suporte nativo para o Docker. O TeamCity permite que você automatize o CI/CD para projetos de qualquer tamanho e complexidade usando o Docker para cada etapa do seu pipeline.
  • Execute cada build num ambiente isolado, configurando cada projeto com seu próprio perfil de nuvem que aponta para seu próprio cluster Kubernetes.
  • Aproveite a elasticidade da sua infraestrutura hospedada na nuvem enquanto tira vantagem da alocação inteligente de recursos e do design resiliente do Kubernetes.
  • Execute tarefas paralelizadas com a ajuda de pods do Kubernetes. Os pods são alocados a máquinas hospedadas na nuvem da maneira mais eficiente possível, maximizando o potencial de execução paralela de tarefas. Depois que uma tarefa é concluída, os pods que estavam sendo usados para ela são encerrados para liberar recursos ou são deixados em execução, de acordo com as suas configurações.

Melhorando o gerenciamento de implantações com o Kubernetes

O suporte nativo do TeamCity para o Docker possibilita um processo de integração e implantação contínuas totalmente em container.

Imagens de container

Crie novas imagens de container e publique-as no seu registro de containers com o executor de builds do Docker, prontas para serem implantadas nos seus ambientes de pré-produção gerenciados pelo Kubernetes.

Configurar ambientes de teste e preparo

Configure ambientes de teste e preparo que se aproximem da produção e deixe que o Kubernetes implemente seus builds mais recentes, deixando-os prontos para testes de integração e end-to-end automatizados, assim como para a verificação manual.

Relatórios detalhados

O TeamCity fornece relatórios detalhados para testes automatizados, com resultados informados em tempo real, completos com links para logs relevantes e rastreamentos de pilha para que você possa investigar falhas imediatamente.

Executor de build Helm para espelhar seu ambiente em tempo real

Use o executor de build Helm (disponível como plug-in) para configurar as cargas de trabalho do Kubernetes e garantir que as implantações de pré-produção espelhem seu ambiente em tempo real.

Comece a usar o CI/CD do Kubernetes

Para um pipeline de implantação e integração contínua totalmente escalável e altamente resiliente, configure um cluster Kubernetes para lidar com suas tarefas de build de CI e implante sua aplicação em container nos ambientes de teste e preparação hospedados no Kubernetes que replicam com precisão seu sistema de produção.

Para configurar o TeamCity para usar os recursos de cluster do Kubernetes:

  • Configure um cluster Kubernetes para hospedar seus agentes de build do TeamCity. Escolha entre usar um serviço de hospedagem do Kubernetes, como o GKE da Google Cloud ou o Amazon EKS, ou hospedar o próprio Kubernetes na nuvem ou em servidores físicos.
  • Para hospedar tarefas de build e ambientes de teste no mesmo cluster, configure namespaces dedicados no Kubernetes.
  • Conceda ao TeamCity as permissões de gravação relevantes no seu cluster.
  • No TeamCity, configure um Kubernetes Cloud Profile e especifique as configurações do Cloud Agent. Para definir os limites sobre os recursos de computação disponíveis para cada instância de um agente de build do TeamCity ou para configurar a política de reinicialização, use um template de pod personalizado.
  • Configure o TeamCity para usar o agente de nuvem para tarefas de build.

Perguntas frequentes

Como funciona a integração entre o TeamCity e o Kubernetes?

Cada vez que uma nova tarefa é adicionada à fila de builds, o TeamCity identifica uma imagem de agente de build compatível e passa a solicitação ao Kubernetes. O orquestrador de containers ou identifica um pod existente com o agente de build correto ou ativa um novo pod para atender à demanda. Várias tarefas de build em container podem ser executadas na mesma máquina virtual, sem nenhum risco de interferência.

Como começar a usar o Kubernetes e o TeamCity?

Com o suporte do TeamCity para o Kubernetes, você pode aproveitar todos os benefícios da infraestrutura altamente escalável e resiliente para suas tarefas de build e testes automatizados. Consulte nosso guia sobre CI/CD para saber mais sobre os benefícios do CI/CD e a finalidade de um pipeline de CI/CD e conhecer as considerações para criar um pipeline de CI/CD hospedado na nuvem.

Pronto para começar? Integre o TeamCity aos seus clusters Kubernetes e execute seu primeiro build num pipeline de implantação e integração contínuas do Kubernetes.

Comece com o TeamCity

CI/CD poderoso para equipes que usam o Kubernetes