Como instalar o Jenkins no Debian


O Jenkins é um servidor de automação de código aberto que ajuda os desenvolvedores a automatizar a construção, os testes e a implantação de software por meio de pipelines de integração contínua e entrega contínua (CI/CD) . É uma ferramenta crucial para facilitar o processo de desenvolvimento de software .

Este guia ajudará você a instalar o Jenkins no Debian.


Pré-requisitos

Instalando o Jenkins no Debian

O Jenkins requer Java para funcionar. As versões mais recentes do Jenkins suportam ambientes de execução Java 11, 17 ou 21. Este tutorial usa o Debian 12 com Java 17, que está disponível no repositório oficial do Debian .

Siga os passos abaixo para instalar o Jenkins no Debian.

Observação: A atualização do Java para a versão 17 pode causar conflitos no Jenkins. Recomenda-se instalar o Java antes de instalar o Jenkins ou consultar as notas de instalação oficiais antes da atualização.

Passo 1: Instale o Java

Comece instalando o Java Developer's Kit (JDK). O JDK inclui o Java Runtime Environment (JRE) e seus arquivos necessários .

1. Abra uma janela de terminal e atualize o índice do repositório de pacotes:

sudo apt update

2. Instale o Java executando o comando abaixo:

sudo apt install default-jdk -y
Instalando o Java no Debian.

O sistema instala a versão mais recente do Java disponível no repositório Debian. Aguarde a conclusão da instalação.

3. Verifique a instalação consultando a versão do Java . Execute:

java -version
Verificando a versão do Java no Debian para confirmar se a instalação foi feita corretamente.

Passo 2: Baixe a chave de segurança GPG

Os pacotes do Jenkins são assinados para garantir a integridade. Você precisa baixar e salvar a chave de assinatura atualizada. Dependendo da versão do Debian que você estiver usando (LTS ou semanal), execute um dos comandos abaixo para adicionar a chave GPG:

Para versões LTS:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Para lançamentos semanais:

curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Etapa 3: Adicionar o repositório Jenkins

Por padrão, o Debian não inclui acesso ao repositório de software Jenkins. Adicione o repositório Jenkins apropriado ao seu sistema:

Para versões LTS:

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

Para lançamentos semanais:

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

Este comando adiciona o repositório Jenkins ao seu sistema.

Passo 4: Instalar o Jenkins

Antes de instalar o Jenkins, atualize o índice de pacotes para incluir o repositório do Jenkins recém-adicionado:

sudo apt update

Em seguida, instale o Jenkins com:

sudo apt install jenkins -y
Instalando o Jenkins no Debian 12.

Aguarde a conclusão do processo de instalação.

Observação: Se você tiver servidores executando outros sistemas operacionais, poderá instalar o Jenkins no Ubuntu ou instalar o Jenkins no CentOS e no Rocky Linux .

Etapa 5: Inicie e habilite o serviço Jenkins

Após a conclusão da instalação, inicie o serviço Jenkins com o seguinte comando:

sudo systemctl start jenkins

Em seguida, configure o Jenkins para iniciar quando o sistema for inicializado :

sudo systemctl enable jenkins

Como configurar o Jenkins no Debian

Após a instalação, acesse o utilitário de configuração do Jenkins abrindo um navegador da web no seguinte endereço:

http://localhost:8080

Se o seu servidor tiver um nome de domínio ou nome de host, use-o em vez de localhost .

Nota: Os 7 princípios de DevOps por trás do Jenkins estão relacionados aos conceitos do Kubernetes . Você também pode se interessar em implantar o Jenkins no Kubernetes .

Desbloquear Jenkins

A página de configuração do Jenkins informa que uma senha foi criada durante a instalação. Siga os passos abaixo para encontrar a senha e desbloquear o Jenkins:

1. Alterne para uma janela de terminal e execute o seguinte comando para exibir a senha:

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

O sistema exibe um longo código alfanumérico. Copie o código.

2. Acesse a página de Introdução ao Jenkins no seu navegador e cole o código no campo Senha do Administrador. Em seguida, clique em Continuar para desbloquear o Jenkins.

Desbloqueando o Jenkins com a senha de administrador.

Instalar plugins

Na tela seguinte, o Jenkins solicita que você instale plugins. A menos que você saiba quais plugins especificamente deseja, a opção recomendada é Instalar plugins sugeridos .

Instalando os plugins sugeridos para o Jenkins.

Criar o primeiro usuário administrador

Após a conclusão da instalação dos plugins, o assistente solicitará que você crie o primeiro usuário administrador . Preencha os campos com as informações necessárias e clique em Salvar e Continuar .

Criando o primeiro usuário administrador no Jenkins.

Configuração da instância

A última tela exibe o URL do Jenkins . Este deve ser o URL que você usou inicialmente para acessar a ferramenta de configuração.

Configurando a URL da instância do Jenkins.

Você pode usar este URL a qualquer momento para configurar o Jenkins. Quando estiver pronto, clique em Salvar e Concluir .

O sistema avisa que o Jenkins está pronto. Clique em " Começar a usar o Jenkins" para carregar o software. Isso o levará ao painel principal do Jenkins com a mensagem " Bem-vindo ao Jenkins!" .

Exemplo do painel de controle do Jenkins.

Nota: Visite nosso tutorial para iniciantes em Jenkins para aprender tudo sobre os recursos do Jenkins.

Protegendo o Jenkins no Debian

Esta seção descreve as principais práticas recomendadas de segurança para proteger sua instância do Jenkins.

Configurar firewall

Um firewall é essencial para proteger o Jenkins, limitando o acesso a portas e intervalos de IP específicos. No Debian, você pode usar ufwo Uncomplicated Firewall para configurar o firewall. Siga os passos abaixo:

1. Execute o comando abaixo para permitir o tráfego apenas em portas específicas (por exemplo, 8443):

ufw allow 8443 sudo ufw enable

2. Habilitar ufwpara aplicar as regras:

sudo ufw enable

Ativar plugins de auditoria

Os registros de auditoria no Jenkins registram eventos como a execução de tarefas, logins de usuários e alterações de configuração. Eles oferecem informações essenciais para a resolução de problemas, segurança e conformidade.

1. Faça login na sua instância do Jenkins e selecione a opção Gerenciar Jenkins no painel de controle.

2. Na página de gerenciamento do Jenkins, clique em Log do sistema .

Gerenciando logs do Jenkins no Debian.

Na página de gravadores de logs , clique no botão + Adicionar gravador para adicionar um novo gravador de logs à sua instância. Use plugins como o Audit Trail para habilitar o monitoramento detalhado e aprimorar a segurança.

Adicionar um gravador de logs ao Jenkins no Debian.

Ative a criptografia TLS

A criptografia TLS (Transport Layer Security) garante a comunicação segura ao criptografar os dados transferidos entre sistemas. É crucial para proteger os dados contra interceptação e adulteração.

Siga os passos abaixo para ativar a criptografia TLS para conexões entre o controlador e os agentes:

1. Faça login na sua instância do Jenkins e selecione Gerenciar Jenkins no painel de controle.

2. Role a página para baixo até a seção Segurança e selecione Segurança . A seção Segurança também oferece várias outras configurações que você pode ajustar para proteger sua instância do Jenkins.

Garantindo a segurança do Jenkins após a instalação.

3. Em Segurança , role para baixo até a seção Agentes . Por padrão, os agentes se conectam ao controlador via TCP usando uma porta de entrada. Se as conexões de entrada não forem necessárias, desative a porta. Se as conexões de entrada forem necessárias, ative "Protocolo de Agente TCP de Entrada/4 (criptografia TLS)" para proteger essas conexões com TLS. Essa configuração garante uma comunicação criptografada e segura.

Ativar a criptografia TLS no Jenkins.

Ativar proteção CSRF

Cross-Site Request Forgery ( CSRF ) é uma vulnerabilidade de segurança web em que sites maliciosos podem executar ações não autorizadas em nome de usuários autenticados. O Jenkins oferece proteção contra CSRF. Essa configuração gera um token único (crumb) para cada usuário. Qualquer ação que modifique o Jenkins requer esse crumb, garantindo que as ações estejam vinculadas ao usuário autenticado.

Siga os passos abaixo para ativar a proteção CSRF:

1. Selecione a opção Gerenciar Jenkins no Painel de Controle.

2. Localize a seção Segurança e clique em Segurança .

3. Desça até a seção Proteção CSRF e habilite o emissor Crumb padrão .

Ative a proteção CSRF no Jenkins.

Conclusão

Agora você deve ter o Jenkins instalado e pronto para uso em seu sistema Debian. Com ele, você pode coordenar facilmente um projeto com várias equipes e entregar software em um ambiente de CI/CD .

Se você usa uma distribuição Linux diferente , também temos um guia sobre como instalar o Jenkins no CentOS ou Rocky Linux , bem como um guia sobre como instalar o Jenkins no Ubuntu . Para usuários do Windows, confira nosso guia sobre como instalar o Jenkins no Windows e, se você usa Mac, aprenda como instalar o Jenkins no Mac .