Laboratório - 524 - CI/CD: Integração e entrega continua com Jenkins, Nexus, Sonarqube, Gitlab-ci e Github actions - LC
Repositório para armazenar o Laboratório do curso de Integração e Entrega Continua com Git, Jenkins, Nexus e SonarQuebe da 4Linux
Para a criação do laboratório é necessário ter pré instalado os seguintes softwares:
Para o máquinas com Windows aconselhamos, se possível, que as instalações sejam feitas pelo gerenciador de pacotes Cygwin.
Para as máquinas com MAC OS aconselhamos, se possível, que as instalações sejam feitas pelo gerenciador de pacotes brew.
O Laboratório será criado utilizando o Vagrant. Ferramenta para criar e gerenciar ambientes virtualizados (baseado em Inúmeros providers) com foco em automação.
Nesse laboratórios, que está centralizado no arquivo Vagrantfile, serão criadas 4 maquinas com as seguintes características:
Nome | vCPUs | Memoria RAM | IP | S.O.¹ | Script de Provisionamento² |
---|---|---|---|---|---|
cicd | 1 | 1536MB | 192.168.56.10 | ubuntu/focal64 | provision/ansible/cicd.yaml |
cicd-tools | 1 | 3072MB | 192.168.56.20 | dubuntu/focal64 | provision/ansible/cicd-tools |
k3s | 1 | 2048MB | 192.168.56.30 | ubuntu/focal64 | provision/ansible/k3s.yaml |
gitlab-ci | 1 | 3072 | 192.168.56.40 | ubuntu/focal64 | provision/ansible/gitlab-ci.yaml |
¹: Esses Sistemas operacionais estão sendo utilizado no formato de Boxes, é a forma como o vagrant chama as imagens do sistema operacional utilizado.
²: Para o Script de Provisionamento estamos utilizando Shell Script
Para criar o laboratório é necessário fazer o git clone
desse repositório e, dentro da pasta baixada realizar a execução do vagrant up
, conforme abaixo:
git clone -b k3s https://github.com/4linux/524
cd 524/
vagrant up
O Laboratório pode demorar, dependendo da conexão de internet e poder computacional, para ficar totalmente preparado.
Atenção Para máquinas físicas com apenas 8GB de RAM recomendamos ligar apenas duas máquinas por vez.
Em caso de erro na criação das máquinas sempre valide se sua conexão está boa, os logs de erros na tela e, se necessário, o arquivo /var/log/vagrant_provision.log dentro da máquina que apresentou a falha.
Por fim, para melhor utilização, abaixo há alguns comandos básicos do vagrant para gerencia das máquinas virtuais.
Comandos | Descrição |
---|---|
vagrant init |
Gera o VagrantFile |
vagrant box add <box> |
Baixar imagem do sistema |
vagrant box status |
Verificar o status dos boxes criados |
vagrant up |
Cria/Liga as VMs baseado no VagrantFile |
vagrant provision |
Provisiona mudanças logicas nas VMs |
vagrant status |
Verifica se VM estão ativas ou não. |
vagrant ssh <vm> |
Acessa a VM |
vagrant ssh <vm> -c <comando> |
Executa comando via ssh |
vagrant reload <vm> |
Reinicia a VM |
vagrant halt |
Desliga as VMs |
Para maiores informações acesse a Documentação do Vagrant