Concrete | Danger: pare de dizer "você esqueceu de…" no Code Review
por Bruno Rendeiro
Danger é uma ferramenta escrita em Ruby que veio para auxiliar o processo de Code Review para todos os desenvolvedores, independente da plataforma. Ela garante que tudo que foi definido que seria analisado durante o Code Review seja de fato analisado. E, a melhor parte, de forma automatizada, integrada com o servidor de integração contínua e a plataforma de controle de versão.
1. Instale a gem 'danger' no projeto. É recomendável que isso seja feito utilizando o Bundler, um gerenciador de dependências Ruby. Com a gem instalada você pode utilizar o comando Danger init, que vai te guiar pelos próximos passos.
2. Crie um arquivo vazio chamado Dangerfile. É neste arquivo que será escrito o script em Ruby que ditará as regras seguidas para o seu Code Review.
Caso você não esteja familiarizado com Ruby não se preocupe, apesar de ser a linguagem utilizada não é necessário conhecimento prévio, basta saber conceitos básicos de programação. Além disso, a escrita do script é feita de forma quase natural.
3. Este passo não é necessário para utilizar a Danger, mas para que ela possa comentar diretamente nos Pull Requests. Crie uma conta em sua plataforma de controle de versão (Github, Gitlab, Bitbucket Server). Esta conta será usada como um bot pela Danger para comentar nos Pull Requests.
A conta é criada como uma conta de usuário normal e a configuração para ser usada como bot varia de uma plataforma para outra. Sugiro que leia a documentação sobre o assunto na plataforma que for usar.
4. Adicione ao seu servidor de integração contínua uma variável de ambiente chamada DANGER_GITHUB_API_TOKEN. O valor desta variável é fornecido pela plataforma de controle de versão e varia de uma para a outra, mas pode ser facilmente achada utilizando a documentação da plataforma.
5. Adicione ao processo de build de seu servidor de integração contínua a Danger. Novamente, a forma como isto deve ser feito pode variar de um servidor para o outro, mas basicamente é adicionar o comando danger (ou bundle exec danger) à sua pipeline e pronto! Já está tudo preparado.
Define duas variáveis locais e checa se tiveram arquivos modificados mas não foram adicionados testes destes arquivos. Neste caso a build irá falhar, pois viola uma regra definida como primordial por este time.
Estagiário em desenvolvimento iOS na Concrete Solutions, Bruno Rendeiro está cursando Ciência da Computação no Mackenzie. Gosta muito de estudar boas práticas, qualidade de código e design patterns dentro da plataforma da Apple. Quando não está estudando ou trabalhando está jogando handball e ultimate frisbee, praticando piano/bateria ou jogando World of Warcraft e Starcraft.