Montando um servidor com Jenkins Ubuntu 22.04
Documentação do Jenkins.
https://www.jenkins.io/doc/book/installing/linux/
Documentação da Docker
https://docs.docker.com/
Documentação da kubernetes
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
Acessando a VM para realizar as instalações do que vamos precisar.
OBS: Onde está o IP deve colocar o IP da sua VM
ssh -i C:\Users\gusta\.ssh\terraform root@64.227.10.97
Agora seguimos os passos abaixo para instalar Jenkins, Docker e Kubernetes
1 - Update do servidor
apt update
2 - Pré requisito é a instalação do JAVA.
apt install openjdk-17-jdk -y
3 - Rode os comandos abaixo para baixar e instalando o Jenkins no servidor.
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc> /dev/null
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
sudo apt-get update
sudo apt-get install jenkins
4 - Instalação do Docker. (Faremos a instalação simples e rápida).
curl -fsSL https://get.docker.com | sh
5 - Adicionando o seu usuário no grupo docker.
Ex: o usuário usado no exemplo foi “jenkins”
usermod -aG docker jenkins
6 - Depois temos que fazer um restart no jenkins.
systemctl restart jenkins
7 - Instalando o kubectl no ubuntu.
7.1 - Atualize o índice do pacote e instale pacotes necessários para usar o repositório Kubernetes:aptapt
sudo apt-get update
sudo apt-get install -y ca-certificates curl
Se você usar o Debian 9 (estiramento) ou anterior, você também precisará instalar:apt-transport-https
sudo apt-get install -y apt-transport-https
7.2 - Baixe a chave de assinatura pública do Google Cloud:
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
7.3 - Adicione o repositório Kubernetes:apt
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
7.4 - Atualizar o índice do pacote com o novo repositório e instalar o kubectl:apt
sudo apt-get update
sudo apt-get install -y kubectl
9 -Agora devemos pegar o IP da Vm e jogar navegador para acessar o Jenkins conforme imagem abaixo.
Acesse o caminho abaixo conforme informa na imagem acima para pegar a senha de Administrador.
cat /var/lib/jenkins/secrets/initialAdminPassword
Ex: Copia o conteúdo gerado e cola no local senha de administrador.
10 - Na tela seguinte vamos costumizar o Jenkins.
Nesse caso vou instalar os plugins que o próprio Jenkins sugere conforme imagem.
11 - Agora aguardamos a finalização da Instalação.
12 - Criaremos o nosso usuário de acesso preenchendo os campos conforme solicitado.
13 - Salva e Finaliza.
14 - Clica em finalizar.
15 - Jenkins Instalado.
16 - Nesse caso como vamos trabalhar com docker e kubernetes vamos instalar alguns plugins.
Clique em “Gerenciar Jenkins” e “Gerenciar extensões”
17 - Agora clica em “Disponíveis” na busca procuramos por Docker e instalamos os plugins: “Docker” e “Docker Pipeline”
18 - Agora vamos instalar os plugins do kubernetes:
19 - Vamos construir uma nova tarefa
20 - Colocamos um nome, clicamos em pipeline e depois em “Tudo certo”.
21 - Vamos fazer as configurações conforme os prints abaixo.
Depois que estiver tudo configurado clique em “salvar”
22 - Agora Vamos criar o “Jenkinsfile”.
23 - Depois que o arquivo Jenkinsfile estiver com as configurações, voltamos no painel de controle no Jenkins. “Gerenciar Jenkins” e “Manage Credentials”
24 - Clicamos em “global” e na próxima tela “Add Credentials”.
25 - Preencher com os dados conforme o print abaixo.
OBS: Username e password são os do seu dockerhub
26 - Temos que adicionar uma credencial para o ‘Deploy kubernetes’
27 - Temos que configurar o webhooks no github com o IP do servidor. Quando fizermos o push vai ser enviado um trigger e a pipeline vai rodar enviando a alteração em tempo real.
A configuração é feita com o IP do servidor do Jenkins
28 - Deploy realizado com sucesso de uma pipeline com Jenkins.
Top comments (0)