Olá, pessoal!
No artigo de hoje vamos ver como usar uma conta do GitHub como autenticação para o nosso Jenkins. Eu, particularmente, acho isso fantástico, pois não preciso ficar gerenciando usuários. A única desvantagem é se o projeto não usar GitHub. Então, podemos optar pelo próprio banco do Jenkins ou criar um com o MySQL, por exemplo, e fazer o Jenkins consultar o usuário nessa base de dados.
Considerando que você já tem o Jenkins instalado, por default ele não pede autenticação, ou seja, qualquer um que souber o endereço do seu Jenkins, caso esteja publico, pode acessar e buildar ou apagar o seu projeto. Que ruim, hein?! Vamos ver aqui como fazer autenticação.
Se você vem acompanhando o post no blog, certamente já tem o plugin do GitHub e o de autenticação instalado no Jenkins, senão instale em manage Jenkins >> manage plugins.
Instale e salve. Escolha a opção Install without restart. Agora vá novamente a manage Jenkins e escolha configure global security. Por default vai estar desabilitada. Habilite.
E escolha:
Aqui teremos que colocar as informações de autenticação do GitHub. Mas o que colocamos aí? A autorização de que os usuários podem logar nessa aplicação a partir do GitHub. Então siga esses passos:
- Faça o login no Github com sua conta ou a conta que irá permitir acesso;
- Acesse: https://github.com/settings/applications
- E agora:
E preencha:
O clientID e o Client Secret são gerados. Coloque no campo do Jenkins respectivamente, e agora vamos autorizar os usuários que podem acessar. Coloque no campo a seguir os usuários do GitHub que serão admin no Jenkins, ou seja, terá permissão total sobre o build:
A separação é por vírgula. Não se esqueça disso.
Salve as alterações. Feche o Jenkins e abra novamente. É esperado que apareça:
Faça o login. No primeiro acesso, o GitHub vai perguntar se você deseja acessar a aplicação de terceiro que você foi adicionar, permita o acesso e pronto. Você já vai cair no Jenkins.
Show e simples né?
Abraços!
Vou ficando por aqui…