Mudanças entre as edições de "Jenkins"

De Wiki AnDes Sistemas
Ir para: navegação, pesquisa
 
Linha 207: Linha 207:
 
[!]
 
[!]
 
To-Do
 
To-Do
 
[[Category:AnDes_Web]]
 

Edição atual tal como às 17h24min de 27 de julho de 2020

Instalação do Jenkins

O site de instalação é jenkins.io/download/

Escolha uma versão LTS da instalação do jenkins

Arquivo:LTS.png

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.

Arquivo:Unlock Jenkins.png

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”.

Arquivo:Customize Jenkins.png

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

Arquivo:Opções.png

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


Arquivo:Add 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”

Arquivo:Ssh-keygen.png

  • Escolha onde a chave será salva
  • (Opcional) - Digite uma passphrase (senha) a ser usada para essa chave ssh. Digite nada para pular esse passo.

Arquivo:Ssh-passphrase.png

  • 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”.

Arquivo:Github-Settings.png

  • Vá em “SSH e GPG Keys” e clique em “New SSH Key”

Arquivo:SSH and GPG keys.png

  • 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.

Arquivo:Credential Config.png

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.

Arquivo:Criar Job.png

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)

Arquivo:Github Project.png

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”

Arquivo:GitSCM Pooling.png

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.

Arquivo:Status Build.png


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.

Arquivo:NodJS Instalações.png

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.

Arquivo:Ambiente de Build.png

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.

Arquivo:Build.png

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