book_icon

GitHub oferece regras de repositórios para todos

Fornecendo uma maneira mais fácil e flexível de definir proteções de branches, as regras garantem mais consistência do código nos repositórios

GitHub oferece regras de repositórios para todos

O GitHub anunciou a disponibilidade geral da ferramenta de conjunto de regras para repositórios na plataforma. Com o objetivo de aumentar a segurança do código e introduzir permissões adicionais, as regras permitem que proteções de branches em repositórios públicos sejam facilmente definidas de forma consistente e, junto com as opções de marcação flexíveis, também torna possível proteger vários padrões de branches usando um único conjunto de regras.

A configuração de regras de repositório pode ajudar a manter a qualidade do código, evitar erros e melhorar a colaboração.

Os controles de conformidade e segurança são fundamentais para manter os aplicativos seguros, e consideramos de extrema importância aplicar adequadamente essas políticas 

“O GitHub fez inúmeras melhorias ao longo do tempo, mas ainda pode ser um desafio proteger branches e tags de forma consistente para as organizações. Gerenciar scripts, cron jobs, várias chamadas de API ou ferramentas de terceiros para ter proteções de branch consistentes não é apenas cansativo, mas também demorado”, afirma Patrick Knight, gerente de Produtos do GitHub.

Uma nova abordagem
Seguindo a missão de ser o lar de todos as pessoas desenvolvedoras, o GitHub integrou o conjunto de regras para garantir que todas as pessoas que colaboram em um repositório já saibam quais são as especificações e regras definidas, que podem ser visualizadas na página de overview sobre as regras aplicáveis ao branch. Informações relevantes sobre a aplicação de regras estão disponíveis em vários pontos de contato no e-mail e na CLI do GitHub. Também há avisos sobre como garantir o uso responsável de permissões de bypass.

Um exemplo de empresa que tem utilizado o recurso é a Twilio, com o intuito de equilibrar tanto a experiência quanto a segurança do desenvolvimento.

“Na Twilio, valorizamos a autonomia de nossas equipes de engenharia, incluindo a capacidade de gerenciar seus próprios repositórios no GitHub. No entanto, essa autonomia torna a conformidade e a segurança mais desafiadoras. Usamos as regras de repositório para nos ajudar a atender aos nossos requisitos de conformidade e segurança, e isso tem ajudado a manter a autonomia da equipe”, reforça David Betts, gerente sênior de engenharia da Twilio.

Clientes do GitHub Enterprise Cloud podem impor essas regras em todos ou em apenas um subconjunto de repositórios de uma organização. E caso não estejam prontos para se comprometer com um conjunto de regras, poderão testar no modo de avaliação. Os insights de regras permitem ver o que pode acontecer se revisões obsoletas forem descartadas ou o histórico de merge linear for habilitado, evitando adivinhações e testes na “produção”.

A imposição de políticas é um grande motivo pelo qual a Thomson Reuters foi uma das primeiras a adotar as regras de repositório em toda a empresa. “Os controles de conformidade e segurança são fundamentais para manter os aplicativos seguros, e consideramos de extrema importância aplicar adequadamente essas políticas. Com regras de repositório, o GitHub nos dá a confiança de saber que estamos aplicando nossas políticas na organização de forma eficaz, mantendo aplicativos seguros para os clientes finais”, diz Darren Trzynka, arquiteto de Nuvem Sênior da Thomson Reuters.

Regras comuns para repositórios de produção
Adicionar regras pode criar atrito para profissionais de desenvolvimento que contribuem no mesmo repositório. Portanto, é necessário articular claramente os objetivos e limitar o número de regras necessárias para atingir as metas.

Um repositório de produção terá alguns branches bem conhecidos, os quais devem exigir pull requests revisados por pares, usar CI/CD para executar testes de unidade e controlar lançamentos e, também, oferecer suporte a namespaces de branches de tópico com restrições mínimas. Para saber como implementar isso com a API REST de regras de repositório para um único repositório, o GitHub disponibilizou uma página em sua documentação.

Um conjunto de regras para todos
Definir padrões de revisão em todos os repositórios pode ajudar a garantir que atendam prontamente aos padrões regulatórios ou de conformidade.

Um ponto a considerar é como lidar com exceções e bypass. Ter uma equipe designada na lista de bypass para conjuntos de regras da organização garante que alguém sempre possa intervir em cenários emergenciais. Outra opção é criar regras de organização para limitar as situações em que uma exceção é necessária. O uso de um conjunto de regras no modo de avaliação permite modelar possíveis cenários que requerem exceções, e é possível experimentar essa função em modo simulação e, em seguida, revisar nos insights do conjunto de regras.

Lista de bypass
Os aplicativos GitHub podem não precisar executar verificações de status ao fazer commits por vários motivos, mas não devem ter acesso de administrador. Essa era a única opção nas proteções de branches e levava a cenários com bots superpoderosos.

“As regras de repositório suportam camadas, o que significa que é possível escrever alguns conjuntos de regras, um com uma lista de bypass com escopo restrito, em camada com outro conjunto contendo uma lista de bypass vazia. Um bot pode ignorar as verificações de status, mas não pode excluir branches ou forçar push”, afirma o gerente de Produtos do GitHub.

Serviço
GitHub.com

Últimas Notícias
Você também pode gostar
As opiniões dos artigos/colunistas aqui publicados refletem exclusivamente a posição de seu autor, não caracterizando endosso, recomendação ou favorecimento por parte da Infor Channel ou qualquer outros envolvidos na publicação. Todos os direitos reservados. É proibida qualquer forma de reutilização, distribuição, reprodução ou publicação parcial ou total deste conteúdo sem prévia autorização da Infor Channel.