OBJETIVOS DE UM AMBIENTE COM PRÁTICAS DEVOPS:
- Melhorar a frequência dos deploys
- Automatizar processos
- Diminuir a ocorrência de erros em novas versões
- Curtos períodos de tempo para mudanças e melhorias
- Recuperação rápida em caso de falhas no ambiente
- Padronização nos processos de configuração e servidores
O QUE PRECISO APRENDER PARA ME TORNAR UM PROFISSIONAL
DEVOPS ?
- Cultura
- Programação
- Gerenciar servidores, virtualização, redes, segurança
- Criação de scripts
- Instalação de middlewares
- Versionar arquivos com git
- Automatizar tarefas e realizar configurações
- Infraestrutura como código
- Observabilidade
- Orquestração de container
- Compartilhar
POR ONDE DEVO COMEÇAR ?
Não preciso ser especialista em todas as áreas acima, porém é bom
conhecer todas desde redes, python, automação, monitoramento
criação de scripts.
PIPELINES
Automatizar todo o processo de entrega de software.
Etapas:
- Planejamento
- Análise
- Desenho
- Implementação
- Testes e integração
- Deploy e revisão
Dev:
- Planejar
- Desenvolver ou codificar
- Construir
- Testar
Ops:
- Lançar
- Implantar e operar
- Monitorar
FERRAMENTAS PARA PLANEJAR:
Jira, Trello, Github, Gitlab
FERRAMENTAS DESENVOLVER:
Git, VsCode
FERRAMENTA CI/CD:
Jenkins, Github, Gitlab
FERRAMENTAS DE TESTES:
Selenium, pytest
FERRAMENTAS DE DEPLOY:
Terraform, ansible, chef, puppet, docker
FERRAMENTAS DE IMPLANTAÇÃO:
Docker, Kubernets, Openshift
FERRAMENTAS DE MONITORAMENTO:
Prometheus, Grafana, Nagios, graylog
CI/CD:
Continous integration, continous deploy.
CI > Liga todas as partes do processo
CD > Processo de entrega do produto final, é entregue de forma
automatizada.
ROADMAP DEVOPS
1º Git
2º Redes - DHCP DNS PORTAS IP
3º Linux
4° Docker (container)
5º Monitoramento - Zabbix, Prometheus, Grafana
ETAPAS TRABALHAR CLOUD
- AWS
- Azure
- GCP
- Terraform
- Conteiners Docker/Kubernetes
COMANDOS BÁSICOS DO GIT
git init - Comando para inicializar um repositório git.
git config –global [Link] “Yann Kistenmacker” - Configurando nome
git config –global [Link] “yannkistenmacker@[Link]” - Configurando o
email do repositório
git add arquivo1 - Coloca o arquivo na área de stage, uma área de espera
para envia-lo ao repositorio remoto
git status - verificamos o estado do nosso arquivos
git commit -m “Meu primeiro commit” - Após esse comando, o nosso arquivo
já esta em nosso repositório local, o parâmetro -m serve para identificar.
git add –all adiciona todos os arquivos na área de stage
git log - mostra todos os passos que foram feitos, incluindo data, horario e o
autor de quem está fazendo
git push origin main - enviando os arquivos do repositório local para o
repositório remoto.
git diff - mostra as alteraçõões feitas
git diff –staged - mostra as alteraçõões que foram feitas nos aqrquivos na
area staged
git log -p -1 - mostra apenas 1 commit no log (ultimo commit que ocorreu)
git log –pretty=online - mostra apenas o código e a mensagem do commit
git commit –amend -m - editar o commit mais recente, sem criar outro commit
git reset HEAD <file> - corringindo commit feito sem querer em algum arquivo
em que não precisava. (tira arquivo da stage area)
git checkout – <file> - corrigindo linhas que você não lembra ter alterado
git rm <file> - removendo arquivo
git log –since=[Link] - mostra commits realizados nas 2 ultimas semanas.
Esse comando funciona com um grande número de formatos – você pode
determinar uma data
específica como "2008-01-15", ou uma data relativa tal como "2 anos 1 dia 3
minutos atrás".
git log -Sfunction_name - Uma outra opção de filtro que realmente ajuda
muito é -S A qual pega um conjunto de caracteres e
mostra apenas os commits que introduzem uma mudança no código onde
esse conjunto é
adicionado ou removido. Por exemplo, se você quer encontrar o último
commit que adicionou ou
removeu uma referência a uma função especifica, você poderia chamar:
git branch teste - criando nova branch
git checkout teste - mudando o work directory para branch teste
git checkout master - mudando o work directory para a branch master
git merge teste - Juntando os arquivos desenvolvidos com a branch master
(lembrando que para poder realizar o merge, é necessário estar na branch
destino, bastando apenas puxar(juntar) os arquivos da branch de origem
(teste)).
git branch -d teste - Separando os arquivos da branche teste da branch
Master.
git branch - lista todas as branchs existentes
git init –bare - para poder criar um repositório compatível em rede com outras
pessoas e sistemas operacionais.
git push origin master - Enviando os arquivos para o servidore remoto origin,
na branch master
git pull origin master - traendo arquivo do servidor remoto para a branch
master do projeto atual (PULL REALIZA O MERGE AUTOMATICAMENTE)
DESFAZENDO COISAS
Em qualquer estágio, você talvez queira desfazer algo. Aqui, vamos rever
algumas ferramentas
básicas para desfazer modificações que porventura tenha feito. Seja
cuidadoso, porque nem
sempre você pode voltar uma alteração desfeita. Essa é uma das poucas
áreas do Git onde pode
perder algum trabalho feito se você cometer algum engano.
git commit –amend - refazendo o commit
gitcheckout –<file>
É importante entender que o git checkout -- <file> é um a comando
perigoso. Qualquer modificação que você fez no arquivo se foi — O Git
apenas substitui o arquivo pela última versão (mais recente) que sofreu
commit. Nunca use este comando a não ser que você saiba com certeza
que
não quer salvar as modificações do arquivo.