Garantindo a Segurança de sua Branch Master no VSTS

Tempo de leitura: menos de 1 minuto

E ai pessoal, tudo certo?

Desde que a Microsoft implementou o Suporte para o GIT no VSTS (e no TFS também), muitas questões tem surgido por parte dos desenvolvedores, e em muitas vezes, a questão envolve segurança de nossas Branchs, do código Fonte, etc.

Bom, embora o Foco desse artigo não seja para sanar especificamente esta dúvida, vale a pena frisar novamente: Seu repositório GIT no VSTS é privado, mesmo em sua forma gratuita, ao contrario do GitHub, onde os repositórios Gratuitos são publicos, tendo definido este ponto, vamos prosseguir.

Por diversas vezes, sou questionado por diversos desenvolvedores que estão planejando utilizar o VSTS sobre como ele pode garantir que o Desenvolvedor não vai alterar o código fonte da Branch Master, ou até mesmo como garantir que a Branch não poderá ser excluida acidentalmente por algum Desenvolvedor desatento. A Questão, é que isso é algo relativamente simples no VSTS, e nos permite uma série de validações para que qualquer alteração seja realizada na branch master.

Para começar, abra seu VSTS, e selecione seu Team Project, dentro do Team Project, selecione o Menu Code, e dentro de Code, a parte de Branchs, em branchs, selecione os “…” que aparecem proximo a branch master, e selecione Branch Polices (vide a imagem abaixo).

 

 

Quando você Habilitar as regras, toda e qualquer alteração que deva ser realizada na master, deverá ser realizada via Pull Request, ou seja, será necessária a criação de uma branch para as alterações que serão realizadas, tendo isso em mente, vamos entender as regras que temos na parte de Branch Polices:

  • Require a minimum number of reviewers

Nesta regra, basicamente definimos o minimo de aprovadores para nosso Pull Request, ou seja, a alteração não será aplicada na master se não tiver o minimo de aprovações conforme configurado.

  • Check for Linked Work items

Nesta regra, basicamente definimos que o Pull Request, para que possa ser aprovado, necessita estar vinculado ao menos um item de trabalho, seja uma task, bug, issue, etc.

  • Check for all comments resolution

Nesta regra, o Pull Request só pode ser aprovado se todos os comentários estiverem resolvidos.

  • Enforce Merge Strategy

Nesta rega, você define qual metódo de Merge será realizado com esse pull request.

  • Build Validation

Quando você habilita esta regra, você define que será necessária a realização de uma Build de Validação antes que o Pull Request seja aprovado, ou seja, o VSTS vai pegar o código que você commitou na branch e vai realizar o build, caso ela tenha sucesso, o processo pode continuar, caso falhe, não.

  • Automatically include code reviewers

Neste caso, você pode incluir revisores padrão para o Pull Request, seja um usuário ou mesmo um grupo.

 

 

Então, a partir do momento que habilitamos estas regras de proteção, não conseguimos mais realizar alterações na Branch master, como o exemplo na imagem a seguir:

Neste caso, garantimos que não podemos realizar alterações na Branch master diretamente, entretanto, um ponto que pode gerar algumas dúvidas, é o fato de que localmente, nós podemos alterar a branch master. Isso é possivel, porque o GIT não é um protocolo Conectado, e essas regras estão no Servidor, então localmente nós conseguimos alterar, mas se você tentar realizar um Push de sua Branch master atualizada para o Servidor, você também receberá uma mensagem de erro devido a proteção que habilitamos na Branch Master.

Como podemos ver na imagem acima, foi possivel realizar um commit localmente na master, entretanto no momento de enviar para o servidor, o VSTS retornou um erro devido as nossas politicas de proteção.

Então, para aplicar alterações é necessário mesmo criar uma Branch e aplicar um Pull Request, que realizará todas as validações que configuramos, como podemos visualizar na imagem abaixo, onde existe o Vinculo de Work Items, Aprovadores e também Builds para que possamos aplicar as alterações na Master.

 

Como vocês podem ver, no VSTS conseguimos garantir a segurança de nosso código fonte, com diversas medidas de segurança.

Reprisando algumas vantagens do VSTS:

  1. É gratuito para até 5 Usuários
  2. Você pode criar ilimitados repositórios GIT e Privados
  3. Você Consegue garantir a segurança de seus repositórios com uma série de medidas de segurança
  4. Você consegue gerenciar todo seu Backlog, e criar rastreabilidade com suas alterações no Código Fonte
  5. Você pode configurar Builds Automatizadas
  6. Você pode configurar Deployments Automatizados
  7. Você pode ter um repositório similar ao Nuget dentro de seu VSTS,
  8. Diversas outras coisas….

Caso esteja pensando em implementar o VSTS em sua empresa e ainda tenha alguma dúvida, pode entrar em contato e conversamos melhor sobre o Assunto.. 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *