Editado 1 Uma semana atrás por ExtremeHow Equipe Editorial
AutomaçãoJenkinsCI/CDDevOpsConfiguraçãoInstalaçãoPipelinesConfiguração do ServidorGerenciamento de TrabalhoScripting
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.
Antes de entrarmos no processo de instalação, é essencial garantir que certos pré-requisitos sejam atendidos:
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:
sudo apt update sudo apt install openjdk-11-jdk
sudo yum install java-11-openjdk
Uma vez que o Java esteja instalado, confirme a instalação executando o seguinte:
java -version
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.
Você precisa adicionar a chave do repositório Debian do Jenkins ao sistema.
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
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
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
.
sudo apt install jenkins
sudo yum install 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.
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.
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.
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.
Configurar o primeiro usuário administrador é muito importante para a segurança. Preencha os campos obrigatórios e salve suas credenciais.
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.
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:
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.
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.
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
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.
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.
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.
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.
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.
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.
Você pode adicionar múltiplos passos de construção dependendo das necessidades do seu projeto:
Configure as ações a serem realizadas pelo Jenkins após a construção, como enviar notificações, implantar pacotes ou arquivar artefatos.
O Jenkins possui uma vasta gama de plugins que ampliam suas capacidades. Aqui estão alguns tipos comuns de integrações:
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.
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.
Configure o Jenkins para distribuir o status de construção para sistemas externos como Slack, HipChat ou email.
Implemente o monitoramento usando os plugins Nagios, DataDog ou NewRelic para diagnósticos avançados do sistema e alertas.
Com JUnit, NUnit, TestNG e outros plugins, o Jenkins pode executar e relatar testes como parte do processo de construção.
Administrar instâncias do Jenkins envolve garantir que os processos estejam otimizados e eficientes, e que a confiabilidade do sistema seja sempre uma prioridade.
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.
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.
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.
Monitore CPU, memória e I/O para evitar interrupções que podem retardar ou corromper a construção.
O Docker complementa o Jenkins fornecendo um ambiente de construção containerizado. Seu isolamento garante que as construções sejam previsíveis e consistentes.
Quanto maior a sua infraestrutura Jenkins, mais provável é que você encontre problemas. Aqui estão maneiras de resolver problemas comuns do Jenkins:
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.
Se a construção travar ou estiver extremamente lenta, garanta uma alocação adequada de CPU, RAM e espaço em disco.
Certifique-se de que a URL do repositório, o nome do branch e as credenciais de acesso estejam corretos.
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.
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