Jenkins
Índice
Instalação do Jenkins
O site de instalação é jenkins.io/download/
Escolha uma versão LTS da instalação do jenkins
Baixe a versão do Windows, e instale (basicamente, apenas aperte “next”).
Arquivo:Download Jenkins Windows.png
Como acessar o Jenkins
Com a configuração padrão, o Jenkins pode ser acessado na url localhost:8080 (Essa url pode ser mudada mais pra frente).
Durante as configurações iniciais do Jenkins (que serão mostradas no próximo tópico), será necessário cadastrar um usuário para poder acessar o Jenkins.
Após isso, os demais acessos necessitarão as credenciais desse usuário. </br>
[Tela de login padrão do Jenkins]
Configurações Iniciais
Quando a url for carregada pela primeira vez, o usuário receberá uma mensagem para desbloquear o Jenkins, passando a senha escrita em um arquivo no seu usuário.
Após ser debloqueado, o Jenkins vai para outra tela onde oferece ao usuário escolher entre instalar os plugins recomendados, ou selecionar manualmente. Escolha “Install suggested plugins”.
Na próxima tela de configuração, é necessário criar o usuário e senha
Arquivo:Create First Admin User.png
E na última tela, o Jenkins permite mudar a url da instância, ou deixar url padrão (localhost:8080).
Arquivo:Instance Configuration.png
Tela Principal/Dashboard do Jenkins
Existem três áreas principais desta tela principal (também chamada de dashboard):
- Na parte esquerda da tela, temos as opções do Jenkins;
- Na parte direita da tela temos a listas dos Jobs, seus dados e configurações;
- Na parte inferior esquerda da tela, temos a fila de builds e seus estados;
Opções
As principais opções do Jenkins são:
- Novo Job – Cria um novo job, e permite ao usuário escolher entre alguns modelos de job base.
- Usuários – Mostra todos os usuários conhecidos do Jenkins.
- Histórico de Compilações – Mostra o histórico e cronograma de todas as builds.
- Gerenciar Jenkins – Opção mais importante do Jenkins. Permite configurar: O sistema, a segurança e ferramentas adicionais; também permite gerenciar plugins, ver informações do sistema, acessar o CLI, desligar o Jenkins, entre múltiplas outras coisas.
- Minhas views – Permite visualizar e criar views.
- Credentials – Permite ver e gerenciar as credenciais do Jenkins.
Conhecendo, gerenciando e instalando plugins
Plugins são componentes open source feitos para adicionar e melhorar as funcionalidades do Jenkins, permitindo uma alta customização do seu ambiente CI/CD. Para instalar e gerenciar os plugins, acesse: Gerenciar Jenkins > Gerenciar Plugins
Nesta nova tela, é possível ver todos os plugins disponíveis, os instalados, e aqueles que precisam de atualizações. Para baixar um plugin, clique na aba “Disponíveis”, digite o nome do plugin em “Filtrar” (neste caso de exemplo, "terminal"), clique no cheque ao lado do plugin desejado e escolha uma das opções de instalação.
Arquivo:Instalando Plugins.png
Para a continuação da configuração do Jenkins, será necessário baixar dois Plugins: NodeJs(plugins.jenkins.io/nodejs), e GitHub (plugins.jenkins.io/github) Siga os passos anteriores para baixar os dois. Após eles terem sido instalados, continue para o próximo tópico.
Configurar a Integração com Repositórios do Github
Antes de configurar o job, será necessário integrar o Jenkins com o repositório do Github, usando uma credencial. Caso o contrário, o Jenkins não irá conseguir acessar qualquer repositório privado nosso.</br> Existem dois tipos de credenciais, credenciais de usuário da conta usada do github, ou credencial de chave ssh. Desses dois tipos, o mais estável (e recomendável) a ser usado é a credencial de Usuário. Entretanto, será também demonstrado o uso por chave ssh, por motivos de documentar completamente o processo.
Cadastrando uma credencial de Usuário
Para cadastrar uma credencial de usuário será necessário acessar a área de gerenciamento de credenciais. Para isso, acesse a tela inicial do Jenkins, e vá em: Credenciais -> System -> Global Credentials, e clique em Add Credentials.
Arquivo:Global Credentials.png
Agora, preencha os seguintes campos:
- Kind - Escolha o tipo "Username with password"
- Username - Adicione o usuário da conta do github que quer conectar com o jenkins
- Password - Adicione a senha da conta do Github dona do projeto que queira conectar com o Jenkins
- ID(Opcional) - Digite algum valor para que sirva como identificador da credencial.
- Description(Opcional) - Descrição da credencial.
Arquivo:Configurar Credencial do Usuário.png
Finalmente,clique no botão OK para criar a chave.
Criar e cadastrar uma chave ssh
Será necessário gerar uma chave ssh antes que ela possa ser cadastrada como credencial. Para isso, siga os segunites passos:.
- Abra o git bash
- Rode o comando “ssh-keygen”
- Escolha onde a chave será salva
- (Opcional) - Digite uma passphrase (senha) a ser usada para essa chave ssh. Digite nada para pular esse passo.
- Acesse a chave pública gerada (id_rsa.pub), e copie o seu valor.
- No github, clique no ícone de perfil e vá em “Settings”.
- Vá em “SSH e GPG Keys” e clique em “New SSH Key”
- Adicione o nome da chave em “Title”, e adicione o valor da chave ssh pública em “Key”.
Arquivo:SSH keys - Add new.png
Agora, vá na tela de cadastro de Credenciais, mostrada no tópico anterior, e crie uma nova chave, preenchendo os seguintes campos:
- Kind – Escolha o tipo “SSH Username with private key”
- ID (Opcional)– Digite algum identificador para a credencial. Caso fique vazio, o Jenkins cria um id automaticamente.
- Description(Opcional) – Descrição da credencial.
- Username (Opcional) – Nome do usuário a ser relacionado com a credencial.
- Private key- Cheque a opção “Enter Directly”.
- Key- Clique no botão “Add”, e adicione o valor da chave ssh pública.
- Passaprhase (Semi-opcional) – Caso tenha colocado uma senha na chave ssh, adicione ela aqui.
Criando e Configurando um Job
Criar o job
Clique em Novo Job. Será aberto uma nova tela, com vários estilos de Jobs pré-definidos.
Digite o nome do item a ser criado, e escolha a opção “Construir um projeto de software free-style” e clique em “OK”.
Configurar o Job
Em “Geral”, clique em “Github Project” e adicione a url do projeto (AVISO: Não coloque o .git no final da url)
Em Gerenciamento do Código Fonte, coloque a url do repositório em “Repository Url”, e adicione as credenciais criadas no tópico anterior.
Arquivo:Gerenciamento de código fonte.png
Finalmente, em “Trigger de builds” cheque a opção “Github hook trigger form GITScm polling”
Neste ponto, a build está funcional. Entretanto, as únicas ações que ela vai fazer é pegar os arquivos do repositório no github e fazer uma build. Nos próximos capítulos, mostraremos como adicionar testes automático no processo de pipeline e fazer o deploy da build criada.
Para iniciar o processo de build, e checar se ela está funcionando, clique em “construir agora” nas opções do lado esquerdo da tela. Agora, no lado inferior esquerdo da tela (área chamada de “fila de builds”), será visível um círculo branco que representa a build que está sendo feita. Caso esse círculo se torne azul, quer dizer que a build foi feita com sucesso; caso se torne vermelha, a build teve algum erro e falhou.
Configurações da Build
Integrando as Ferramentas de Testes Automáticos
Será abordado aqui como configurar as ações da Build do Jenkins para que os programas de testes automáticos possam ser integrados e rodados a cada build criada.
Configurando o node
Para poder integrar as ferramentas de testes, é necessário primeiro configurar o jenkins para que ele tenha acesso ao Node e possa então usar os programas de testes(que necessitam do node).
No dashboard do Jenkins, clique em Gerenciar Jenkins, e em Global Tool Configuration.
Arquivo:Global Tool Configuration.png
Após isso, desça a tela até encontrar “NodeJS instalações”, clique em “Adicionar NodeJS” e digite o nome desta instalação do node. Após isso, Clique em “Adicionar Instalador”, e escolha “install from nodejs.org”. Agora, escolha a versão do node, quais pacotes do npm vão ser usados (nesse caso, o newman), e então clique no botão Salvar.
Volte para as configurações do job criado (apenas clique na seta ao lado do job desejado e vá em configurações). Em “Ambiente de Build”, cheque a opção “Provide Node & npm bin/ folder to PATH”, e no campo “NodeJS Installation” escolha o nome da versão do node anteriormente configurada.
Configurar Newman
Na aba “build”, clique em “Adicionar passo no build” e escolha a opção “Executar no comando do Windows”. Será aberto uma nova área.
Em “Comando”, digite os seguintes comandos necessários para que o arquivo do Newman seja rodado:
- cd [Caminho da pasta dos testes] para entrar na pasta com os arquivos;
- newman run [Nome do Arquivo de teste].json -d [Arquivo de Dados].json -g [Arquivo das Variáveis Globais].json roda o arquivo de testes do Newman, especificando também o datafile e as variáveis globais dele
(Observação: Os comandos -d e -g são opcionais)
Arquivo:Comandos do Newman.png
Salve as configurações, e construa novamente a build para verificar se funcionou.
Configurar Deploys
[!] To-Do