Dev (Back & Front)ARTIGO

Série Continuous Integration: usando GitHub para autenticação no Jenkins

No artigo de hoje vamos ver como usar uma conta do GitHub como autenticação para o nosso Jenkins.

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.

jenkinsplugingithub

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:

jenkinsgithubauth

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:

  1. Faça o login no Github com sua conta ou a conta que irá permitir acesso;
  2. Acesse: https://github.com/settings/applications
  3. E agora:

jenkinsregistergithub

E preencha:

jenkinsgithubregisterdone

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:

jenkinsgithubauthorization

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:

jenkinsgithublogin

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…

é Bacharel em Sistemas de Informação e Especialista em Gestão e Estratégia de Negócios. Trabalha com TI desde 2003 e possui as certificações SCJP 5 e SCM. Trabalhou na IBM Brasil como Analista Programador Java, passou pelo laboratório da Enterprise Computing Lab (ECL) HP como Software Engineer, Ci&T como Engenheiro de Software em projeto JEE. Tem experiência internacional em Índia, Dubai e Londres. Atualmente é cofundador da ITSLabs (www.itslabs.com.br), uma start-up focada na criação de produtos web e mobile para start-ups. Também é autor dos livros "Guia do Exame SCJP", "Guia Prático JEE com Frameworks" e "TDD na prática".

Ver perfil