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