Introdução
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.