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

Olá Pessoal,

No post 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.  Daí 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.

Lets go…

Starting…

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 heim? 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 ai? A autorização de que 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á 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.

See ya!!