Introdução

Concluído

As equipes de desenvolvimento de software precisam fornecer alterações de código de forma rápida e segura. Isso requer automação que funciona durante todo o processo de desenvolvimento. Os ganchos do Git são uma ferramenta poderosa que pode ajudar as equipes a verificar automaticamente a qualidade do código, encontrar problemas de segurança e seguir as regras de codificação. Muitas equipes não usam hooks do Git o suficiente, mas os hooks do Git podem melhorar o desenvolvimento.

Por que os ganchos do Git são importantes

O desenvolvimento de software tem muitos desafios. As equipes devem lidar com ameaças à segurança, seguir as regras da empresa, manter a qualidade do código e implantar o código rapidamente. Os ganchos do Git ajudam a resolver esses problemas adicionando verificações automáticas exatamente onde os desenvolvedores trabalham quando salvam alterações no código.

  • Verificações automáticas de qualidade: os ganchos do Git podem verificar a qualidade do código automaticamente. Em vez de encontrar problemas mais tarde no processo, os ganchos pegam problemas mais cedo quando são mais fáceis e baratos de corrigir.
  • Proteção de segurança: com mais ameaças à segurança todos os dias, os ganchos do Git atuam como a primeira linha de defesa. Eles podem impedir automaticamente que senhas, chaves de API e outros segredos sejam salvos no código. Eles também podem verificar se há problemas de segurança.
  • Regras da empresa a seguir: para empresas que devem seguir regras rígidas (como bancos ou serviços de saúde), os ganchos do Git podem verificar automaticamente se cada alteração de código atende aos padrões e requisitos legais da empresa.
  • Desenvolvimento mais rápido: bons ganchos do Git criam um sistema em que os problemas são encontrados imediatamente. Ele fornece comentários rápidos aos desenvolvedores, reduz o tempo de espera e torna todo o processo de desenvolvimento mais rápido.

Como os ganchos do Git funcionam

Os ganchos do Git funcionam em níveis diferentes no processo de desenvolvimento e cada nível tem propósitos diferentes:

Ganchos em computadores desenvolvedores

  • Verificações de desenvolvimento local: esses ganchos são executados no computador de cada desenvolvedor. Eles fornecem comentários imediatos e impedem que o código incorreto saia do ambiente local do desenvolvedor.
  • Verificações personalizáveis: esses ganchos podem ser configurados para projetos específicos, linguagens de programação e padrões da empresa, mantendo a consistência em todos os desenvolvedores.

Ganchos no servidor

  • Imposição de regra central: os ganchos do lado do servidor são executados no repositório de código principal. Eles fornecem a aplicação de políticas centralizadas que os desenvolvedores individuais não podem contornar.
  • Integração do Azure DevOps: plataformas Git modernas como o Azure DevOps e o GitHub fornecem poderosos recursos de ganchos no lado do servidor que integram-se bem aos fluxos de trabalho de desenvolvimento empresariais e aos sistemas de verificação de regras.

Objetivos de aprendizagem

Depois de concluir este módulo, você saberá como:

  • Planejar a estratégia de hooks do Git: Desenvolver estratégias completas de hooks do Git que ajudam grandes equipes de desenvolvimento, mantendo os desenvolvedores produtivos e os fluxos de trabalho eficientes.
  • Crie automação avançada: crie ganchos de pré-confirmação, pós-confirmação e push que verificam automaticamente a qualidade, verificam problemas de segurança e validam as regras da empresa.
  • Crie ganchos focados em segurança: crie ganchos de segurança que impeçam vazamentos de senha, detectem vulnerabilidades e imponham políticas de segurança automaticamente.
  • Conecte-se ao Azure DevOps: integre os ganchos do Git sem problemas aos serviços do Azure DevOps, pipelines de CI/CD e ferramentas da empresa.
  • Gerenciar a implantação da equipe: configure maneiras escalonáveis de implantar, gerenciar e manter ganchos do Git em grandes equipes de desenvolvimento e estruturas de empresa complexas.

Pré-requisitos

Para obter o máximo deste módulo, você deve ter:

  • Habilidades fortes do Git: boa compreensão do controle de versão do Git, estratégias de ramificação e fluxos de trabalho avançados do Git, incluindo ganchos, rebase e estratégias de mesclagem.
  • Experiência do Azure DevOps: boa experiência com os serviços do Azure DevOps, especialmente o Azure Repos, o Azure Pipelines e a implementação do fluxo de trabalho de desenvolvimento da empresa.
  • Habilidades de automação e script: boas habilidades com linguagens de script, como Bash, PowerShell ou Python, e compreensão de princípios de automação e práticas recomendadas.

Este módulo baseia-se no conhecimento básico do Git e do Azure DevOps para ensinar estratégias de automação avançadas importantes para grandes equipes de desenvolvimento.