JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como instalar e configurar o Jenkins no Linux

Editado 1 Uma semana atrás por ExtremeHow Equipe Editorial

AutomaçãoJenkinsCI/CDDevOpsConfiguraçãoInstalaçãoPipelinesConfiguração do ServidorGerenciamento de TrabalhoScripting

Como instalar e configurar o Jenkins no Linux

Tradução atualizada 1 Uma semana atrás

Jenkins é um servidor de automação de código aberto amplamente utilizado que ajuda na construção, implantação e automação de processos de software. Quando se trata de integração e entrega contínuas (CI/CD), o Jenkins é uma das ferramentas mais populares. Uma das principais vantagens é que o Jenkins pode ser integrado com muitas tecnologias de teste e implantação. Este documento fornece um guia abrangente para instalar e configurar o Jenkins em um servidor Linux. Cobriremos tudo, desde os pré-requisitos, até a instalação, e a configuração básica de segurança.

Pré-requisitos

Antes de entrarmos no processo de instalação, é essencial garantir que certos pré-requisitos sejam atendidos:

Instalar Java

Para verificar se o Java está instalado e para verificar sua versão, execute o seguinte comando:

java -version

Se o Java não estiver instalado, você pode instalá-lo usando o seguinte comando, dependendo da sua distribuição Linux:

No Debian/Ubuntu

sudo apt update sudo apt install openjdk-11-jdk

No CentOS/RHEL

sudo yum install java-11-openjdk

Uma vez que o Java esteja instalado, confirme a instalação executando o seguinte:

java -version

Instalando o Jenkins

Uma vez que o Java esteja funcionando, o próximo passo é instalar o Jenkins. O Jenkins fornece um repositório para todas as distribuições Linux, facilitando o processo de instalação.

Passo 1: Adicione a chave e o repositório do Jenkins

Você precisa adicionar a chave do repositório Debian do Jenkins ao sistema.

No Debian/Ubuntu

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update

No CentOS/RHEL

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

Passo 2: Instale o Jenkins

Agora que o repositório do Jenkins foi adicionado, você pode instalar o Jenkins usando uma ferramenta de gerenciamento de pacotes como apt ou yum.

No Debian/Ubuntu

sudo apt install jenkins

No CentOS/RHEL

sudo yum install jenkins

Passo 3: Inicie e ative o serviço Jenkins

Depois que o Jenkins estiver instalado, você pode iniciá-lo e permitir que ele inicie automaticamente quando você ligar o computador.

sudo systemctl start jenkins sudo systemctl enable jenkins

Para garantir que o Jenkins esteja em execução, verifique seu status:

sudo systemctl status jenkins

Após executar o Jenkins, o próximo passo é configurá-lo.

Configurando o Jenkins

Passo 1: Acesse o Jenkins através da interface web

O Jenkins pode ser acessado através de um navegador web. Por padrão, ele roda na porta 8080. Abra o navegador e acesse:

http://localhost:8080

Se você estiver trabalhando remotamente, substitua localhost pelo endereço IP do seu servidor.

Passo 2: Desbloqueando o Jenkins

Quando executado pela primeira vez, o Jenkins exibe uma página que solicita que você desbloqueie o Jenkins usando a senha inicial.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Copie a senha e cole-a no campo "Senha do Administrador", depois clique em Continuar.

Passo 3: Personalizar o Jenkins

Você pode instalar plugins sugeridos para o Jenkins ou escolher plugins específicos. Inicialmente, é recomendado escolher a opção "Instalar plugins sugeridos" para adicionar plugins comumente usados, mas você pode personalizá-los mais tarde.

Passo 4: Criar um usuário administrador

Configurar o primeiro usuário administrador é muito importante para a segurança. Preencha os campos obrigatórios e salve suas credenciais.

Passo 5: Configurar as configurações do sistema

Após a configuração inicial, vá para Gerenciar Jenkins > Configurar Sistema. Aqui, você pode ajustar configurações como executores, nós e mensagens do sistema.

Configuração de segurança

Proteger o Jenkins é uma etapa crucial, pois é um ponto crítico em seu pipeline CI/CD. Abaixo estão algumas etapas de segurança essenciais que devem ser implementadas:

Habilitar proteção CSRF

A proteção contra tokens CSRF (Cross-Site Request Forgery) é importante. Certifique-se de que "Prevenir exploração de falsificação de solicitação entre sites" esteja marcado em Gerenciar Jenkins > Configurar Segurança Global.

Configurar controle de acesso baseado em função

Uma forma eficaz de gerenciar permissões de usuários é através do controle de acesso baseado em função. Você pode conseguir isso instalando o plugin Strategy Role.

Usar HTTPS

Para proteger as comunicações entre o servidor Jenkins e seus usuários, configure o Jenkins para usar HTTPS. Você precisará de um certificado SSL válido, que pode ser obtido gratuitamente com o Let's Encrypt ou comprado de uma autoridade certificadora (CA).

keytool -import -alias jenkins -file your_ssl_certificate.crt -keystore /path/to/your/certificate/store

Habilitar logs de segurança

O Jenkins permite monitorar atividades de usuários através de logs de segurança. Isso pode ajudar a resolver problemas de segurança ou observar atividades suspeitas.

Configurando o Jenkins para projetos

Uma vez que seu servidor Jenkins esteja configurado e seguro, o próximo passo lógico é configurá-lo para construir e implantar seus projetos. O Jenkins oferece integração perfeita com sistemas de controle de versão como GitHub, Git, SVN e outros.

Passo 1: Criar um novo trabalho

Vá para o painel do Jenkins e clique em Novo Item. Escolha um projeto Freestyle para uma ampla gama de opções de configuração.

Passo 2: Configurar o gerenciamento de código-fonte

Configure o sistema de controle de versão sob Gerenciamento de Código-Fonte. Para o Git, especifique a URL do repositório e quaisquer credenciais necessárias.

Passo 3: Configurar gatilhos de construção

O Jenkins permite que você automatize compilações usando gatilhos. Eles podem ser agendados ou configurados para serem executados quando uma alteração é detectada no seu sistema de controle de versão.

Passo 4: Configurar o ambiente de construção

Você pode especificar o ambiente de construção, como scripts que precisam ser executados antes ou após o processo de construção. Isso pode incluir definir caminhos, limpar diretórios ou outros passos preliminares.

Passo 5: Adicionar o passo de construção

Você pode adicionar múltiplos passos de construção dependendo das necessidades do seu projeto:

Passo 6: Ações pós-construção

Configure as ações a serem realizadas pelo Jenkins após a construção, como enviar notificações, implantar pacotes ou arquivar artefatos.

Integrações e plugins

O Jenkins possui uma vasta gama de plugins que ampliam suas capacidades. Aqui estão alguns tipos comuns de integrações:

Plugins de SCM

Esses plugins suportam interação com vários sistemas de controle de versão como Git, Subversion, Mercurial, etc. Instale-os em Gerenciar Jenkins > Gerenciar Plugins.

Ferramentas de construção

Integre com Apache Maven, Gradle e Ant usando plugins específicos para ferramentas de construção. Estes simplificam o seu ciclo de vida de construção.

Plugins de notificação

Configure o Jenkins para distribuir o status de construção para sistemas externos como Slack, HipChat ou email.

Ferramentas de monitoramento

Implemente o monitoramento usando os plugins Nagios, DataDog ou NewRelic para diagnósticos avançados do sistema e alertas.

Frameworks de teste

Com JUnit, NUnit, TestNG e outros plugins, o Jenkins pode executar e relatar testes como parte do processo de construção.

Melhores práticas para administração do Jenkins

Administrar instâncias do Jenkins envolve garantir que os processos estejam otimizados e eficientes, e que a confiabilidade do sistema seja sempre uma prioridade.

Use pipelines em vez de projetos freestyle

Pipelines escritos em Groovy oferecem mais flexibilidade e controle sobre a construção. Eles suportam estruturas de trabalho complexas, parametrização e configuração de trabalho mais detalhada.

Implemente uma estratégia de backup

Certifique-se de fazer backup regularmente do diretório /var/lib/jenkins para preservar a configuração do sistema e os dados históricos dos trabalhos.

Atualize o Jenkins e os plugins regularmente

Verifique frequentemente por atualizações do Jenkins e de seus plugins. Atualizações regulares garantem que você tenha os patches de segurança e funcionalidades mais recentes.

Monitorar recursos

Monitore CPU, memória e I/O para evitar interrupções que podem retardar ou corromper a construção.

Use Docker para isolamento

O Docker complementa o Jenkins fornecendo um ambiente de construção containerizado. Seu isolamento garante que as construções sejam previsíveis e consistentes.

Resolução de problemas no Jenkins

Quanto maior a sua infraestrutura Jenkins, mais provável é que você encontre problemas. Aqui estão maneiras de resolver problemas comuns do Jenkins:

Verifique os logs

Logs são sua primeira linha de informações ao solucionar problemas. Verifique o arquivo /var/log/jenkins/jenkins.log para qualquer mensagem de erro ou aviso.

Recursos insuficientes

Se a construção travar ou estiver extremamente lenta, garanta uma alocação adequada de CPU, RAM e espaço em disco.

Erro na configuração do Git/SCM

Certifique-se de que a URL do repositório, o nome do branch e as credenciais de acesso estejam corretos.

Problemas de rede

Verifique se as configurações de rede permitem que o Jenkins acesse os serviços necessários e valide quaisquer configurações de proxy HTTP.

Conclusão

Este guia forneceu uma visão abrangente de como instalar e configurar o Jenkins para uso ideal em sistemas Linux. Desde a instalação e segurança até as melhores práticas, este tutorial abordou vários aspectos importantes para aproveitar todo o potencial do Jenkins. Com esses elementos essenciais, suas iniciativas de desenvolvimento e implantação de software podem se tornar mais eficientes e flexíveis. Lembre-se, o poder do Jenkins aumenta significativamente quando é personalizado para as necessidades específicas do seu projeto através de seu extenso sistema de plugins e configuração personalizável.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários