O TeamCity permite que você automatize o CI/CD em projetos de qualquer tamanho enquanto usa o Docker em cada etapa do seu pipeline.
Você já ficou frustrado ao descobrir que o código que você depurou na sua própria máquina não funcionou em outros ambientes? O TeamCity permite que você execute builds e testes no Docker, garantindo que o seu aplicativo não fique amarrado ao seu sistema específico e funcione corretamente em outras máquinas, desde uma máquina de controle de qualidade até uma instância de produção na nuvem.
Procurando uma maneira de montar uma infraestrutura escalável e passível de manutenção para CI/CD? Com o TeamCity, você pode personalizar comandos do Docker com parâmetros de build, usar modelos para configurar pipelines centralizados e automatizar a limpeza de agentes de build e registros do Docker a partir de imagens obsoletas do Docker.
Você precisa testar como diferentes componentes do aplicativo funcionam juntos ou testar o seu aplicativo em um ambiente específico? O TeamCity inicializa containers do Docker, executa testes de integração e os encerra de forma segura ao final do processo, de forma altamente confiável e reproduzível.
O TeamCity dá suporte e pode acelerar todos os workflows de desenvolvimento de software que usem o Docker. Enquanto outras ferramentas de CI/CD apenas lhe dão informações binárias sobre os resultados dos builds (isto é, se tiveram ou não sucesso), o TeamCity se integra profundamente ao Docker, dando a você informações abrangentes sobre os seus pipelines, incluindo:
Como resultado, você pode rapidamente encontrar problemas com suas builds, entender o que precisa ser corrigido e entregar novos recursos mais rapidamente e com melhor qualidade.
Escolha entre as versões Cloud e On-Premises do TeamCity:
Hospedado pela JetBrains
Você procura uma solução de CI/CD com suporte ao Docker, mas não quer executá-la na sua máquina local? Dê uma olhada no TeamCity Cloud, nosso serviço gerenciado.
Hospedado por você
Você tem builds locais que quer desacoplar da sua máquina e mover para um container do Docker? Comece com o TeamCity Professional. É gratuito para pequenos projetos!
O executor de builds do Docker permite que você adicione etapas de build que executam comandos do Docker. Isso é especialmente útil se você precisar personalizar argumentos do Docker de forma dinâmica. Por exemplo, você pode executar builds sob uma versão específica de um sistema operacional definido anteriormente no pipeline. O executor também permite que o TeamCity limpe automaticamente o cache local das imagens do Docker nos agentes de build, garantindo que eles estejam prontos para novas builds.
Para mais detalhes, veja a seção Docker Runner da nossa documentação.
O Docker Wrapper permite que você execute uma etapa de build do TeamCity em um container do Docker, independentemente do sistema operacional usado como host, entregando resultados consistentes e reproduzíveis. O TeamCity rastreia todos os eventos que acontecerem durante o build e dá a você relatórios em tempo real, análise de testes e outros recursos inteligentes, como rastreamento de pilhas de dentro do container do Docker.
Para mais detalhes, veja a seção Docker Wrapper da nossa documentação.
O executor de build do Docker Compose é usado para inicializar containers do Docker no início de um build e garantir que o TeamCity os encerre depois que o build terminar ou for interrompido. Sua utilidade primária é executar testes de integração nos quais os componentes estejam em containers e sua execução possa ser descrita usando arquivos do Docker Compose. Por exemplo, o próprio TeamCity é testado com várias versões de diferentes bancos de dados funcionando como back-end. Os testes de integração correspondentes são executados através do executor de build do Docker Compose.
Para mais detalhes, veja a seção Docker Compose Runner da nossa documentação.
O recurso de build Docker Support é usado para gerenciar o acesso a registros do Docker. Esse recurso é configurado no nível de projeto e tem suporte a todos os serviços mais populares, incluindo Docker Hub, Amazon ECR, JFrog Container Registry e outros, permitindo que diferentes recursos do TeamCity funcionem com esses serviços. Por exemplo, quando uma limpeza de servidor apaga dados associados a uma build desatualizada, a limpeza pode ser configurada para remover as imagens do Docker publicadas como partes daquela build.
Para mais detalhes, veja a seção Docker Support da nossa documentação.
Digamos que você tenha implementado um serviço de back-end que faz builds e é executado no seu próprio computador. Mesmo se você não tiver planos de usá-lo fora do seu ambiente local, ainda haverá muitas coisas que podem mudar com o tempo: o sistema operacional, as ferramentas de build, bibliotecas de terceiros, etc. Na prática, manter um ambiente completamente estático em uma máquina local é algo impossível de se conseguir; mais cedo ou mais tarde, algo vai parar de funcionar.
Com o Docker e o TeamCity, você pode tornar seus builds totalmente reproduzíveis e evitar o aborrecimento de gerenciar dependências e corrigir erros de compatibilidade. Um pipeline de CI/CD para um projeto de Java com Maven poderia ser assim:
O TeamCity fornece relatórios em tempo real sobre builds e testes, desde o momento em que você faz o commit para o VCS até aquele em que você obtém os resultados, possibilitando o mais rápido loop de feedback possível. Ele dá suporte a projetos de qualquer complexidade e escala, e ajuda a sua equipe a minimizar os bugs, entregar recursos mais rapidamente e estabelecer um processo de desenvolvimento mais transparente.
Você pode configurar pipelines de CI/CD sem escrever nenhum código, usando uma simples interface Web. Você também pode configurá-los através de uma programação em Kotlin e implementar uma configuração de CI que seja reproduzível e passível de manutenção e que possa combinar várias linguagens de programação, sistemas operacionais e plataformas de nuvem.
O TeamCity pode funcionar com o Docker em qualquer plataforma que tenha suporte ao runtime do Docker, incluindo Linux, Windows e macOS.
Sim, além de executar builds em containers do Docker, o TeamCity também pode criar imagens do Docker, fazer push delas a registros do Docker e apagá-las com base em vários critérios.
Sim, o TeamCity On-Premises é gratuito para projetos pequenos e não tem limites de número de usuários ou tempo de build. O TeamCity Cloud oferece um período de avaliação gratuita de 14 dias. Ambas as versões têm suporte a todos os recursos do Docker.
Com o TeamCity, você pode escolher entre executar builds diretamente na sua máquina e executá-los usando containers do Docker.