TeamCity 2024.03: plug-in do HashiCorp Vault, builds não confiáveis e muito mais

Na versão 2024.03, introduzimos uma série de recursos muito esperados. Por exemplo, o plug-in HashiCorp Vault agora é fornecido com o TeamCity. Além disso, nosso novo grupo de builds não confiáveis permite diferenciar entre alterações criadas por usuários confiáveis e alterações de fontes externas.

Além disso, o recém-introduzido executor do dotCover permite que os usuários executem processos sob o profiling da cobertura de código, combinem snapshots entre etapas de build e gerem relatórios consolidados em uma cadeia de builds para testes paralelos executados no TeamCity.

Continue lendo para saber mais sobre as novidades do TeamCity.

Oferta combo: o plug-in do HashiCorp Vault agora faz parte do TeamCity

Já faz algum tempo que o TeamCity tem se beneficiado da integração com o HashiCorp Vault por meio de um plug-in. No ano passado, reformulamos a maneira como essa integração funciona, tornando-a muito mais fácil de configurar.

Com a versão 2024.03, começamos a incluir o plug-in no TeamCity, tornando-o um componente integral de qualquer instalação do TeamCity.

Saiba mais sobre a integração com o HashiCorp Vault do TeamCity na nossa documentação.

Dependência opcional de artefatos

Dependências de artefatos permitem que suas configurações de build busquem arquivos produzidos por outras configurações ou builds dentro da mesma configuração. Para estabelecer essas dependências, defina regras de artefatos especificando quais arquivos devem ser baixados e seus locais de armazenamento.

Anteriormente, se o TeamCity não conseguisse localizar os arquivos com base nessas regras, as compilações falhavam com o erro "Unable to resolve artifact dependency" (Não é possível resolver a dependência do artefato).

A partir da versão 2024.03, estamos introduzindo uma abordagem mais adaptável para definir dependências de artefatos. Agora, você pode configurar as dependências para que elas sejam ignoradas nos seguintes casos:

  • A build fonte não existe de forma alguma (a menos que haja outras regras não opcionais).
  • A build fonte não possui o arquivo necessário.
  • A regra do artefato é baseada em um arquivamento, e este não contém o arquivo necessário.

Se quiser fazer comentários sobre esse recurso, sinta-se à vontade para fazer isso neste ticket do YouTrack.

Para obter a lista completa dos novos recursos, acesse nossa página What's New na documentação.

Mais controle sobre solicitações pull externas com o grupo de builds não confiáveis

O recurso Pull Requests permite que você revise o código antes de fazer o merge com a base de código principal. Os usuários podem optar por executar builds de qualquer colaborador ou apenas daqueles que fazem parte de sua organização. A primeira opção traz riscos de segurança, expondo potencialmente o servidor TeamCity a códigos prejudiciais, enquanto a segunda limita a colaboração com uma base mais ampla de colaboradores.

Na versão 2024.03, introduzimos o que chamamos de grupo de compilação não confiável, que permite ao TeamCity diferenciar entre alterações criadas por usuários confiáveis e alterações de fontes externas.

Mais controle sobre solicitações pull externas com o grupo de builds não confiáveis

O grupo de builds não confiáveis atualmente oferece suporte ao GitHub e ao GitLab. Saiba mais sobre isso na nossa documentação.

Novo executor dotCover

O JetBrains dotCover tem recebido suporte como uma ferramenta de cobertura de código para projetos relacionados ao .NET no TeamCity há algum tempo. Na versão 2024.03, adicionamos um novo executor de build ao plug-in .NET Support que o integra à ferramenta dotCover.

O novo executor dotCover permite aos usuários:

  • Executar processos arbitrários sob o profiling do dotCover para produzir snapshots de cobertura.
  • Combinar snapshots de etapas de build produzidos por outros executores .NET ou dotCover.
  • Gerar relatórios combinados por uma cadeia de builds para testes paralelos e transformá-los em relatórios personalizados do TeamCity.

Saiba mais na nossa documentação

Políticas de repetição de testes .NET no TeamCity

Na versão 2024.03, adicionamos novas funcionalidades ao executor de build .NET. A nova opção permitirá que os usuários definam políticas de repetição em toda a build para testes com falha.

Mais controle sobre solicitações pull externas com o grupo de builds não confiáveis

Esse recurso ajudará a lidar com testes instáveis e a atenuar as falhas transitórias de testes de integração.

Saiba mais na nossa documentação.

Suporte ao cache de configuração no executor do Gradle

A opção de cache de configuração no Gradle melhora substancialmente o desempenho da build, armazenando em cache o resultado da fase de configuração e reutilizando-o em builds subsequentes. Antes da versão 2024.03, o executor de build Gradle do TeamCity não tinha suporte para esse recurso.

Nesta versão, introduzimos essa funcionalidade no TeamCity, proporcionando maior eficiência e desempenho às builds usando o Gradle. Confira nossa documentação para obter informações sobre como ativar a opção de cache de configuração na sua instalação do TeamCity.

TeamCity 2023.11: builds matriciais, caches de build e muito mais

O TeamCity 2023.11 vem com vários recursos muito esperados que ajudarão você a configurar builds com mais facilidade, incluindo builds matriciais e caches de build.

Integrações aprimoradas com plataformas de hospedagem Git, incluindo GitHub, GitLab, Bitbucket e Azure DevOps, agora permitem opções de autenticação mais fáceis.

A interface de usuário completamente reformulada para os plug-ins do EC2 e S3 simplifica o trabalho com esses serviços da Amazon.

Continue lendo para saber o que há de novo.

Boas-vindas aos builds matriciais

Imagem de compilações Matriz

Graças às compilações Matriz no TeamCity, você pode definir uma combinação de parâmetros e valores correspondentes para criar uma matriz de compilações. Cada combinação de valores de parâmetros gera uma compilação exclusiva. O build matricial é composto por vários builds múltiplos rodando em paralelo.

Builds matriciais são especialmente úteis ao testar software em diferentes configurações, como sistemas operacionais ou versões de navegador.

Read more about matrix builds in our documentation.

Reduza, reutilize e recicle com o cache de builds

Reduza, reutilize e recicle com o cache de builds

Em CI/CD, usar agentes de build de uso único é considerado a melhor prática e a mais segura. Porém, as melhores práticas não vêm sem desafios.

Cada vez que você executa uma build em um agente de uso único, bibliotecas pesadas ou numerosas precisam ser baixadas da Internet para que a build seja executada. Isso causa tempos de build lentos e atrasos no início do build.

Isso não acontece mais!

Caches de build ajudam a otimizar o tempo de build de CI/CD, baixando os arquivos dos quais o seu projeto depende e depois reutilizando-os no projeto.

Learn more about Build Caches in our documentation.

Cabeça nas nuvens: atualizações dos plug-ins para EC2 e S3

Cabeça nas nuvens: atualizações dos plug-ins para EC2 e S3

Com a versão 2023.11, repensamos completamente nossa abordagem para definir perfis e imagens de nuvem. A nova interface do usuário orienta você pelo processo, sugerindo opções de configuração relevantes.

Agora, você pode se beneficiar do uso de instâncias Mac do EC2, da execução de agentes de build de instâncias Spot do AWS EC2 com uma pontuação de posicionamento Spot e muito mais.

O plug-in para S3 também recebeu uma nova interface de usuário intuitiva e simplificada, projetada com buckets do Amazon S3 e armazenamentos compatíveis com o S3 em mente.

Saiba mais na nossa documentação.

Pronto para Git com o TeamCity

O TeamCity oferece integrações perfeitas com plataformas de hospedagem Git, incluindo GitHub, GitLab, Bitbucket (ambas as edições Cloud e Data Center) e Azure DevOps.

GitHub

Na 2023.05, introduzimos um novo tipo de conexão com o GitHub. Em vez de utilizar o acesso tradicional a repositórios baseado em OAuth, você pode usar aplicativos GitHub.

A partir da versão 2023.11, você pode estabelecer essas conexões com mais eficiência, eliminando a necessidade de configuração manual e registro de novos aplicativos no GitHub.

Pronto para Git com o TeamCity

No lado da autenticação, agora você também pode emitir tokens de acesso atualizáveis impessoais para conexões com aplicativos GitHub nas páginas de configurações do GitHub Issue Tracker, no Commit Status Publisher e em recursos de build de Pull Requests.

GitLab

A partir da versão 2023.11, você pode configurar o TeamCity para ignorar solicitações de merge de rascunho no recurso de build de Pull Requests para GitLab.

GitLab

Commit Status Publishers e Pull Requests voltados para repositórios GitLab agora podem usar tokens OAuth atualizáveis para passarem pela autenticação.

Suporte a tokens atualizáveis para autenticação

Commit Status Publishers e Pull Requests voltados para repositórios GitLab agora podem usar tokens de aplicativo atualizáveis para passarem pela autenticação.

Azure DevOps

Agora, o TeamCity oferece suporte a tokens OAuth atualizáveis para recursos de build Commit Status Publisher e Pull Requests para o Azure DevOps.

Saiba mais na nossa documentação.

Bitbucket Cloud

Com esse lançamento, aprimoramos a autenticação do Bitbucket de diversas maneiras.

In addition to app passwords and VCS Root credential authentication types, TeamCity also supports refreshable and permanent access tokens as an authentication method for the Pull Request Build Feature for Bitbucket Cloud.

Servidor Bitbucket/Datacenter

O recurso Pull Requests agora pode usar tokens OAuth atualizáveis para acessar repositórios no Servidor Bitbucket/Datacenter.

Saiba mais na nossa documentação.

Integração aprimorada com o Perforce Helix Swarm

Integração aprimorada com o Perforce Helix Swarm

We’ve also improved the existing Swarm and TeamCity integration. A integração permite que você use os status de build do TeamCity no Swarm e navegue da interface do usuário do TeamCity até a interface do Swarm.

A partir da versão 2023.11, o editor TeamCity Perforce Helix Swarm para o recurso de build Commit Status Publisher pode ser integrado a workflows personalizados que já existem na configuração do Swarm. Além disso, o Commit Status Publisher não exige mais as credenciais de usuários com acesso de administrador.

Agora, é possível configurar a integração sem usar as credenciais de nível administrativo do Swarm no TeamCity. A integração atualizada também permite incluir gates baseados em verificações do TeamCity em workflows personalizados.

Saiba mais na nossa documentação.

Pools de agentes favoritos

Suporte aprimorado para solicitações pull de rascunho no recurso de build Pull Requests

Agora você pode marcar determinados grupos de agentes como favoritos e acessá-los em um local unificado. Isso é útil quando você precisa acessar os pools de agentes pelos quais é responsável.

Os terminais revelam seu poder: acesse facilmente seus agentes por meio de terminais de agentes

Os terminais revelam seu poder: acesse facilmente seus agentes por meio de terminais de agentes

Agent terminal is a unique TeamCity feature that provides a convenient and quick way to get direct access to an agent machine by opening a remote terminal directly from the TeamCity UI. Ele é compatível com Linux, Windows (via PowerShell) e macOS.

A partir da versão 2023.11, você não precisa trocar de guia para abrir terminais de agentes: eles são abertos na mesma página na interface do usuário do TeamCity.

TeamCity 2023.05: Tema escuro, Terminal de agentes e muito mais

O TeamCity 2023.05 oferece uma variedade de recursos muito aguardados, incluindo um tema escuro, acesso aprimorado ao de terminal para agentes e melhorias na configuração multinós. Para reforçar ainda mais a segurança, o TeamCity agora se integra ao Let's Encrypt e oferece autenticação de dois fatores para grupos personalizados. Esta versão também apresenta novos recursos interessantes, como a conexão de aplicativo GitHub e a capacidade de enviar mensagens personalizadas do Slack diretamente de um build em execução.

Descubra o tema escuro

Os desenvolvedores têm todo o direito de se sentir confortáveis ao usar suas ferramentas do dia a dia. É por isso que desenvolvemos um dos recursos mais votados na história do TeamCity: o tema escuro.

O tema escuro pode ajudar a reduzir o cansaço visual e eliminar as distrações visuais. Além disso, alguns usuários o consideram esteticamente mais agradável.

O tema escuro do TeamCity está disponível para as UIs clássica e Sakura. Além das opções Claro and Escuro, você também pode escolher Tema do sistema, que corresponderá automaticamente às configurações do seu sistema operacional.

Terminal de agentes

Agent terminal

No TeamCity 2023.05, agora você pode abrir terminais remotos para máquinas de agentes diretamente da UI do TeamCity para visualizar facilmente logs de agentes, verificar softwares instalados e depurar problemas específicos do agente.

Esse novo recurso é particularmente útil ao solucionar problemas em um agente, pois os terminais remotos dispensam a necessidade de manter chaves SSH para conectar-se aos agentes. Ele é compatível com Mac, Linux e Windows (com PowerShell).

Melhorias na configuração multinós

Melhorias na configuração multinós

Com este lançamento, também estamos implementando uma lógica de distribuição de solicitações aprimorada que distribui com eficiência a carga entre os nós principais e secundários.

Para aprimorar a escalabilidade do TeamCity, os nós agora são completamente intercambiáveis. Todos os nós da rede do TeamCity podem contribuir para equilibrar as solicitações dos usuários, permitindo assim uma distribuição mais uniforme da carga de trabalho gerada pelos usuários da UI Web em todos os nós.

Atribua a responsabilidade de polling de VCS a múltiplos nós

Na versão 2023.05, os usuários do TeamCity não estão mais restritos a um único nó para tarefas de polling de repositórios de VCS. O lançamento mais recente permite que essa função seja delegada a múltiplos nós, resultando em uma distribuição mais uniforme da carga de trabalho, na identificação mais rápida de novos commits e na iniciação mais rápida dos builds.

Ao aproveitar essa melhoria de recurso, os usuários podem simplificar seus processos de build, teste e implantação, aprimorando a eficiência geral, reduzindo atrasos e aumentando a produtividade.

Reforçando a segurança

No TeamCity, nossa principal prioridade é garantir uma segurança robusta. Para reforçar a capacidade do produto de resistir a violações de dados e possíveis interrupções nos negócios, incorporamos os seguintes recursos.

Integração com Let’s Encrypt

O TeamCity agora inclui integração com a Let's Encrypt, uma autoridade certificadora que oferece certificados digitais gratuitos e automatizados para facilitar o HTTPS em sites. Ao entrar em contato com a Let's Encrypt, o TeamCity pode obter e instalar automaticamente um certificado válido que será posteriormente atualizado sem qualquer intervenção do usuário.

Autenticação de Dois Fatores

Nas versões anteriores, habilitar o modo obrigatório de autenticação de dois fatores afetava todo o servidor. No entanto, com este lançamento mais recente, agora é possível formar grupos de usuários personalizados que exigirão o uso da 2FA mesmo se o modo global estiver definido como Opcional.

Conexão do aplicativo GitHub

Conexão do aplicativo GitHub

O TeamCity agora pode ser autorizado a colaborar com o GitHub como um aplicativo GitHub, um recurso recente que permite executar várias ações e utilizar a API do GitHub sem a necessidade de estabelecer contas de serviço separadas ou agir em nome de um usuário.

O maior benefício da conexão do aplicativo GitHub é que o TeamCity não precisa mais acessar o GitHub usando as credenciais de um usuário. Em vez disso, ele usa tokens renováveis não pessoais que são concedidos para uma instalação do aplicativo GitHub na organização/conta GitHub do usuário. Isso se torna particularmente útil quando alguém sai da organização ou quando seus direitos de acesso são alterados.

Suporte aprimorado para solicitações pull de rascunho no recurso de build Pull Requests

Suporte aprimorado para solicitações pull de rascunho no recurso de build Pull Requests

A capacidade de configurar o recurso de build Pull Requests para ignorar solicitações pull de rascunho do GitHub foi introduzida no TeamCity 2022.12.

A versão 2023.05 também permite que você desconsidere solicitações pull de rascunho do GitHub ao utilizar o recurso de build Pull Requests. Você pode optar por ativar a opção Ignore Drafts nas configurações do recurso, o que fará com que o TeamCity ignore quaisquer solicitações pull de rascunho até que seu status seja alterado.

Notificações personalizáveis

Os usuários do TeamCity já podem configurar notificações por e-mail e Slack para eventos específicos. A versão 2023.05 torna esse recurso ainda melhor, permitindo que você envie mensagens do Slack e notificações por e-mail usando mensagens de serviços.

Notificações personalizáveis

Para evitar que mensagens sejam entregues a destinatários incorretos e para restringir links para recursos externos não confiáveis, essas mensagens de serviço incorporam medidas de segurança inerentes.

Um cenário em que isso pode ser particularmente útil é ao enviar notificações quando certas condições são atendidas ou quando ocorrem eventos críticos, como uma implantação em andamento relatando um erro que requer revisão imediata enquanto o build ainda está em andamento.

Adicione e remova tags de build via mensagens de serviço

Adicione e remova tags de build via mensagens de serviço

Além de enviar notificações personalizadas, você também pode adicionar e remover tags de build com a ajuda de mensagens de serviços.

O uso de tags em builds permite que os usuários categorizem e organizem builds de acordo com critérios específicos. Por exemplo, tags de build podem ser utilizadas para indicar a causa de falhas de um build, facilitando a localização de builds com motivos de falha semelhantes.

Suporte para Podman

Suporte para Podman

Com o lançamento 2023.05, apresentamos suporte para o Podman, um mecanismo de container que permite aos usuários gerenciar containers sem exigir privilégios root. Ele é totalmente compatível com comandos do Docker, facilitando a alternância entre mecanismos.

Agora é sua vez

Para obter a lista completa de novos recursos, visite nossa página Novidades na documentação.

Como sempre, estamos ansiosos pelo seu feedback! Fique à vontade para enviar uma solicitação por meio do formulário de suporte.

TeamCity 2022.10

O TeamCity 2022.10 vem com a interface do usuário Sakura habilitada por padrão, apresenta muitos recursos relacionados à nuvem, incluindo o sistema de gerenciamento de credenciais da AWS e o acesso imediato ao terminal para agentes de build baseados no AWS EC2, além de acrescentar melhorias importantes às integrações com VCS. Os administradores de servidor vão adorar a nova maneira simplificada de implementar HTTPS para instalações locais do TeamCity. Além disso, um novo módulo de autenticação para usar contas do Google e vários recursos solicitados há muito tempo foram implementados.

Sakura UI: perfeita em cada detalhe

A Sakura /sa.ku.ʁa/, ou flor de cerejeira, simboliza uma época de renovação e otimismo, e acreditamos que isso descreve perfeitamente nossos sentimentos enquanto fazemos tornamos a Sakura UI uma opção padrão no TeamCity 2022.10.

A Sakura UI é moderna, bonita e rápida. Criada com a acessibilidade em mente, ele tem paridade de recursos com a UI clássica e também traz muitos novos recursos exclusivos. Estamos trabalhando na Sakura UI há mais de quatro anos e fizemos questão de deixá-la perfeita nos mínimos detalhes. Tivemos a oportunidade única de testá-la em milhares de projetos internos e externos, incluindo gigantes como o IntelliJ IDEA e o Kotlin. Acreditamos que você também vai adorar!

Sabemos que alguns dos nossos usuários podem estar acostumados à interface de usuário antiga e, por isso, ela será mantida e continuará disponível por um tempo limitado. No entanto, em uma das próximas versões, ela será substituída pela Sakura UI. Se você acha que deixamos algo escapar, por favor crie um issue no YouTrack.

Contagem regressiva rumo à nuvem!

Cada vez mais nossos clientes estão migrando suas instalações do TeamCity para a nuvem e, por isso, continuamos a impulsionar nossos recursos de nuvem.

Gerenciamento mais fácil e seguro de credenciais da AWS

Implementamos um novo sistema de gerenciamento de credenciais da AWS que emite chaves da AWS temporárias de curta duração que são expostas de maneira segura para seus builds.

Acesso via terminal a agentes de build baseados no AWS EC2

Acreditamos que todas as equipes de desenvolvimento devem ter total visibilidade e controle sobre seus pipelines de entrega. Para melhorar a experiência de depuração do CI/CD na nuvem, acrescentamos a capacidade de abrir uma sessão de terminal segura para agentes de build baseados no AWS EC2 diretamente a partir da UI do TeamCity, sem a necessidade de acessar o console de gerenciamento do provedor de nuvem ou solicitar a uma equipe de DevOps ocupada que configure listas de acesso à rede e pares de chaves SSH.

A disponibilidade do recurso é controlada pela permissão Open an interactive session to the agent, que está ativada por padrão somente para administradores de servidor, mas que pode ser atribuída a outros usuários quando necessário.

Modo de manutenção de agentes de nuvem

Se você já precisou depurar um issue em um pipeline de CI/CD que foi executado numa instância de nuvem, sabe que essa pode ser uma tarefa bem complexa. Além de exigir tempo e esforço para identificar e criar o agente de build correto, você também precisa garantir que ele não inicie novos builds no meio do processo.

É aí que entra o modo de manutenção. Nesse modo, o TeamCity não encerra automaticamente os agentes de nuvem após a conclusão do build, e eles não são alocados para executar novos builds, permitindo que você cuide da solução dos problemas.

Gerenciamento de instâncias de nuvem em uma configuração multisservidor

A partir do TeamCity 2022.10, nós secundários do TeamCity podem iniciar e interromper instâncias de nuvem, permitindo a operação ininterrupta da CI baseada em nuvem durante a manutenção de um servidor primário.

Integrações aprimoradas com VCS

Perforce

O TeamCity 2022.10 vem com duas melhorias relacionadas à integração com ferramentas Perforce:

  • Agora, o Perforce Shelve Trigger compreende quando uma lista de alterações arquivada está relacionada a um fluxo não padrão e permite que a compilação seja executada nela.
  • Agora, o TeamCity detecta listas de alterações que têm revisões no Perforce Helix Swarm e adiciona links para as respectivas páginas de revisão e alteração nas páginas Build Overview e Changes, respectivamente.

Suporte para tokens de atualização em conexões OAuth

O TeamCity 2022.10 agora usa tokens OAuth de curta duração ao trabalhar com GitLab, Bitbucket Cloud e Azure DevOps, permitindo que você crie roots de VCS sem precisar gerar manualmente tokens de acesso para esses serviços.

Segurança de nível superior

Suporte HTTPS pronto para usar

Suporte HTTPS pronto para usar

Hoje em dia, a segurança do pipeline de CI/CD é mais importante do que nunca. Na versão 2022.10, facilitamos a ativação do HTTPS para o seu servidor TeamCity. Tudo o que você precisa fazer é carregar um certificado HTTPS, ou uma cadeia de certificados, no formato PEM que o TeamCity cuidará do resto.

Tokens de acesso restrito

Agora você pode criar tokens de acesso temporário que permitirão que outras pessoas façam login no TeamCity com a sua conta, mas com um escopo limitado de permissões, por exemplo, com acesso a um projeto específico somente para visualização. Isto pode ser útil nos casos em que você deseja que alguém ajude a depurar seu pipeline ou ao fazer uma demonstração.

Diga “Olá” com sua conta do Google

Para oferecer suporte a mais workflows e facilitar a experiência com o TeamCity, agora oferecemos suporte à autenticação usando contas do Google. Ao fazer login com o Google, o TeamCity corresponderá instantaneamente o e-mail do Google a um usuário existente do TeamCity e fará o login sem a necessidade de inserir uma senha. Ele também pode criar novos perfis automaticamente quando novos membros ingressarem na sua equipe, desde que seus endereços de e-mail pertençam a um dos nomes de domínio que você especificou.

Limpeza de espaço em disco aprimorada

O recurso de build Free Disk Space agora controla o tamanho dos artefatos e calcula automaticamente o espaço em disco necessário para resolver dependências de artefatos. Isso deixa o uso do recurso de build mais simples, pois você não precisa mais saber o tamanho dos artefatos baixados durante o build, e a única coisa que precisa ser informada é a quantidade de espaço em disco necessária para o processo de build propriamente dito.

Promoção de builds pessoais

A partir do TeamCity 2022.10, você pode promover builds pessoais. Os builds acionados após a promoção também se tornam builds pessoais.

Estes são apenas os destaques mais importantes do TeamCity 2022.10. Para ver a lista completa de alterações no TeamCity 2021.1, consulte a documentação do TeamCity.

TeamCity 2022.04

O TeamCity 2022.04 apresenta o novo recurso Parallel Testing, que oferece um extraordinário aumento de velocidade ao testar seus projetos. Novos recursos poderosos de análise de código reduzirão o tempo gasto em revisões de código e aumentarão a capacidade de manutenção dos seus projetos. Os usuários que executam seus builds na nuvem vão adorar a integração aprimorada com o Amazon S3 e o Amazon CloudFront, bem como a nova opção de gerenciar perfis de nuvem programaticamente. Há várias melhorias nas integrações do VCS, novas opções de configuração e muitas atualizações excelentes na interface do usuário.

Velocidade incomparável com o recurso Parallel Tests

O TeamCity agora é capaz de paralelizar a execução dos seus testes, distribuindo-os de forma inteligente entre vários agentes de build, minimizando assim sua duração geral. Diferente de qualquer outra solução de CI/CD, esse recurso leva em consideração não apenas a execução mais recente, como também o histórico dos seus testes. Com isso, você pode refatorar livremente seu código, quebrar seus testes e fazer o que achar melhor para seu projeto, sem o medo de comprometer a paralelização e atolar seus pipelines.

O Parallel Testing fez uma mudança fenomenal na maneira como desenvolvemos e testamos o TeamCity. Nossos próprios testes de integração ficaram dez vezes mais rápidos, caindo de 4 horas para cerca de 20 minutos.

A paralelização da execução de testes pode ser implementada de várias maneiras. A maneira mais fácil é usar um executor de build Maven, Gradle ou .NET, pois eles oferecem suporte para esse recurso imediatamente. Para outros executores de build e scripts personalizados, o TeamCity salvará a maneira ideal de paralelizar testes em arquivos de instruções especiais, permitindo que você mesmo configure testes paralelos.

Inspeções de qualidade de código integradas para um código melhor

Inspeções de qualidade de código integradas para um código melhor

O TeamCity ajuda você a eliminar bugs e melhorar a qualidade do seu software de várias maneiras: e agora há mais uma! A partir da versão 2022.04, você pode habilitar inspeções avançadas de qualidade de código e realizar uma variedade de outras ações novas, todas com a tecnologia do JetBrains Qodana:

  • Execute verificações de análise estática.
  • Encontre duplicatas no seu código.
  • Acompanhe como a qualidade do código muda ao longo do tempo e muito mais.

Adicionar inspeções de código aos seus pipelines de build permite reduzir o tempo gasto em revisões de código, garante a manutenção dos seus projetos e ajuda todos os desenvolvedores da sua equipe a trabalhar com mais eficiência. We welcome you to check out a live demo.

Colocando a integração na nuvem em novos patamares

O mundo está migrando rapidamente para a nuvem, e estamos vendo um número crescente dos nossos clientes seguindo o exemplo. O TeamCity 2022.04 leva a experiência na nuvem um passo adiante, aprimorando a integração com a Amazon Web Services e adicionando novas opções de configuração.

Migrando artefatos de build para o Amazon S3

O TeamCity sempre teve uma integração poderosa com o Amazon EC2 e o Amazon S3, o que permitiu dimensionar livremente sua infraestrutura de build, independentemente do tamanho e da complexidade dos seus projetos. A versão 2022.04 permite não apenas armazenar novos artefatos de build no Amazon S3, como também mover artefatos existentes do armazenamento local do TeamCity para o Amazon S3. Isso é particularmente útil para equipes que estão começando a migração de uma configuração auto-hospedada para uma plataforma de nuvem e desejam aproveitar ao máximo desde o início.

Download de artefatos de build do Amazon CloudFront

Download de artefatos de build do Amazon CloudFront

Trabalhar com artefatos de build armazenados no Amazon S3 pode ser lento e caro, dependendo da distância geográfica entre você e a região onde o bucket do S3 está localizado. Para ajudar você a reduzir os custos, o TeamCity 2022.04 adiciona suporte nativo ao Amazon CloudFront, que permite trabalhar com artefatos armazenados em cache nas localizações periféricas mais próximas fornecidas pela AWS. Isso funciona em todos os níveis, incluindo agentes de build, usuários da Web, solicitações de API e outros, potencialmente dando ao seu processo de desenvolvimento um tremendo aumento de velocidade.

Mais maneiras de gerenciar o escalonamento automático no nível do projeto

Armazenar a configuração de CI/CD com a base de código do seu projeto é a melhor maneira de garantir que ela sempre possa ser construída, testada e implantada. Para fornecer mais flexibilidade ao construir software na nuvem, o TeamCity 2022.04 estende o Kotlin DSL, dando a cada projeto a oportunidade de ter sua própria configuração de perfil de nuvem.

Capacitando seus workflows de implantação

Conforme anunciado anteriormente em nosso roteiro, estamos começando a explorar a área de implantação e, como primeiro passo nessa direção, estamos lançando aprovações de build. Agora, você pode criar configurações de build que não serão iniciadas imediatamente depois de acionadas, mas permanecerão na fila até que todos da equipe de aprovação dêem o sinal verde. Esse recurso é particularmente útil para equipes avançadas que não desejam limitar a capacidade dos desenvolvedores de acessar o ambiente de produção, mas que, ao mesmo tempo, precisam de um nível mais alto de controle sobre o procedimento de implantação.

Sua voz é bem-vinda! Se você tiver alguma solicitação de recurso relacionada à implantação, não hesite em deixar sua sugestão no nosso projeto do YouTrack.

Integrações mais inteligentes com VCS

Solicitações de merge do Space

Continuamos a melhorar a integração com o JetBrains Space, adicionando suporte para solicitações de merge. Ao construir uma solicitação de merge, o TeamCity agora publica o status na linha do tempo da respectiva solicitação de merge no Space.

Issues do GitLab

Enriquecemos a lista de rastreadores de issues suportados, adicionando o GitLab. Isso funciona exatamente como esperado: quando uma mensagem de commit menciona um ID de issue, o TeamCity adiciona automaticamente um link para o respectivo issue no GitLab e exibe informações sobre ele.

Relatórios de builds em fila

Antes, o recurso de build Commit Status Publisher não enviava informações ao sistema de controle de versão até que o TeamCity realmente iniciasse o build, o que geralmente ocorria muito tempo depois que o commit era realizado. Na nova versão, o TeamCity atualiza o status do commit logo depois de adicionar o respectivo build à fila, fornecendo a você as informações mais atualizadas. Esse recurso funciona com todos os serviços de VCS suportados, incluindo GitHub, GitLab, Space, Bitbucket e Azure DevOps.

Executando um build personalizado com uma revisão específica

Executando um build personalizado com uma revisão específica

Ao executar um build personalizado, agora você pode especificar uma revisão exata que pode não necessariamente pertencer à lista de alterações conhecidas pela configuração do build. Isto oferece muito mais flexibilidade nos casos em que você deseja reproduzir builds históricos, implantar versões mais antigas, depurar novas configurações de build e muitas outras situações.

Mais controle sobre branches de recursos

Mais controle sobre branches de recursos

O TeamCity sempre permitiu que você limitasse o número de builds em execução simultaneamente para uma configuração de build. Com a versão 2022.04, você pode melhorar a alocação de recursos e definir esse limite no nível do branch. Por exemplo, seu branch principal pode ter um número ilimitado de builds que podem ocupar quantos agentes de build forem necessários, enquanto você limita seus branches de recursos para executar apenas um build de cada vez.

Segurança: dentro e fora

Log4J e Log4Shell

Embora o TeamCity não tenha sido afetado pela vulnerabilidade Log4Shell (CVE-2021-44228), alguns scanners de segurança o indicaram erroneamente como vulnerável sem verificar o número exato da versão da framework Log4J usada no produto. Para evitar relatórios de scanner falso-positivos, atualizamos o Log4J para a versão mais recente.

Spring e Spring4Shell

Da mesma forma que o Log4Shell, a vulnerabilidade Spring4Shell (CVE-2022-22965) não afeta o TeamCity. No entanto, para evitar relatórios falso-positivos de scanners de segurança, atualizamos a framework Spring usada no TeamCity para a versão mais recente.

Harmonia com a interface do usuário Sakura

Nossa nova interface do usuário Sakura está cada vez mais próxima da paridade de recursos com a interface clássica do TeamCity. Na versão 2022.04, reimplementamos as páginas Agent Pools e Changes e melhoramos muito o desempenho geral da nova interface do usuário. Agora, estamos a poucos passos de torná-la uma opção padrão: algo que planejamos fazer no TeamCity 2022.10. Fique ligado!

Essas são apenas algumas das melhorias que fizemos no TeamCity. Para obter instruções de atualização e a lista completa de alterações na versão 2022.04, consulte a Documentação do TeamCity.