Continuando sua série de artigos sobre GIt, nosso #cloudspecialist Thiago Marques fala sobre o funcionamento de logs. Confere aí!

O pai ta on!!

Já falamos sobre os sistemas descentralizados, o comparativo entre os repositórios, e iniciamos nosso projeto.

Nesse post falaremos o funcionamento de logs e como entender o status.

Somado a isso veremos como funcionam os repositórios remotos, e como podemos enviar nossos trabalhos locais para esses repositórios, e assim obter um dos principais ganhos do git: o poder de dividir para conquistar.

Inspecionando logs

Chegamos o git log trabalhando em nosso último post, e aqui vamos nos aprofundar no assunto.

Em definição o git log exibe o histórico de commits, e por padrão o comando mostra informações como autor, timestamp, comentário e o hash do commit, o que é rico em informação, contudo em um projeto com diversos commits pode acabar gerando uma confusão gigante.

Abaixo estão os principais parâmetros para esse comando.

git log –oneline: o comando que mais gosto, e o motivo para eu sugerir fortemente um padrão nos comentários, pois acaba ajudando muito na análise. Veja a diferença de não se ter um padrão no comentário:

E ter o padrão:

Note que no comentário colocamos o título, seguido de um ‘enter’ e só então a explicação detalhada do commit, isso é eficiente pois com o –online, vemos apenas o título, o que facilita muito na pesquisa das alterações.

Some essa característica a um sistema de nomenclatura de FIX, UPDATE, UPGRADE, BUG e etc, de dará um poder gigante de análise.

git log –grep=”<padrão>”: faz uma pesquisa baseado no padrão de string no comentário, e novamente essa função somada a anterior vai te dar grande poderes.

Finalizando temos o git log -n <quantidade> que funciona de forma parecida com o comando tail no Linux, ou seja, vai mostrar os últimos “n” logs do histórico

Inspecionando o estado

O git status vai ser seu melhor amigo para identificar quais arquivos estão na área de staging, e aqui vale uma abertura de parênteses importante: as áreas no git.

Existem basicamente 3 areas no Git:

·         Working directory: que é onde se trabalha de fato na edição de arquivos. Nessa área não existe interação com o repositório, e não executamos nenhum comando git ainda. Contudo sempre que houver uma alteração ou uma adição de novos arquivos o working dir vai mostrar que existem arquivos que estão fora do repositório;

·         Staging área: Aqui já abordamos ligeiramente, e basicamente é uma área temporária do git, ou seja, ela não está nem no working dir, nem no repositório. Tem como principal objetivo servir como uma validação adicional dos arquivos antes de enviar para o repositório. Adicionamos um arquivo ao staging com o comando git add.

·         Repositório: Por fim temos a última área que é de fato quando o arquivo esta dentro do repositório, e já possui controle de versionamento, e adicionamos arquivos nessa área com o comando git commit.

 

Assim o git status é a forma de verificar se existe algo na área de working dir e staging. Isso ajuda muito, pois assim saberemos se existem arquivos que pendentes de commit, ou até pendentes de add. Note que ele não mostra histórico (isso é função do git log), apenas o realtime.

Repositórios remotos

Até agora trabalhamos apenas localmente, ou seja, criamos nossos códigos/arquivos, e adicionamos eles no git para controle de versionamento. Agora vamos adicionar mais uma etapa, que é justamente poder enviar nossos dados para o repositório remoto.

Isso pode ser feito tanto se a estrutura for a publica (onde basicamente se utiliza os sites de repositório mostrado no segundo post sobre o GIT), ou privada (que também pode ser os repositórios mostrados, mas é mais comum ser uma estrutura interna).

Antes de tudo vamos adicionar o nosso repositório remoto. Isso é feito com o comando git remote add, mas antes de executar o comando precisamos copiar a url do repositório remoto. Para isso vamos no site do repositório, e copiamos a url (eu prefiro trabalhar com a opção HTTPS):

Copiado o repositório, agora vamos adicioná-lo em nosso console:

#git remote add <nome> <url>

git remote add gitlab https://gitlab.com/thiagosagara/gitlabrepo.git

Após isso podemos verificar o repositório com o comando git remote -v

Enviando o projeto para o repositório remoto

Note que na etapa anterior nomeamos nosso repositório remoto como ‘gitlab’, e agora vamos enviar todos os arquivos/códigos para esse repositório, o que é de fato a principal função do comando git push, ou seja, ele (o push) faz a exportação dos commits que fizemos localmente para o repositório remoto em uma branches (veremos isso mais para frente) específica.

Isso é feito com o seguinte comando:

#git push <nome_do_repositorio_remoto> <nome da branch>

git push -uf gitlab main

Contudo antes de enviar nossos arquivos precisamos atualizar no nosso projeto. Isso é necessário, pois criamos quando criamos o projeto no site por ‘baixo dos panos’, ele também cria uma estrutura git nos servidores, assim também existe um histórico de commits feitos.

Como no git, para o controle de versionamento ser efetivo ele precisa ter um histórico único, primeiro precisamos atualizar os históricos remotos, e só então enviar os nossos.

Para isso utilizamos o comando:

#git pull <nome_do_repositorio_remoto> <nome_da_branch> –allow-unrelated-histories

git pull gitlab main –allow-unrelated-histories

Agora podemos rodar o git push novamente e teremos nosso projeto atualizado no repositório remoto:

That’s all folks! Be Happy!!!

foto-thiago-marques
Thiago Marques Technical Account Manager
thiago.marques@darede.com.br

Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.

OUTRAS PUBLICAÇÕES

Novidades da Semana – 26 a 30 de abril

Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas que fazem mais sentido para nosso mercado e que certamente aplicaremos em nosso dia a dia. Confira as novidades das últimas semanas. Security & Governance AWS Systems Manager – Integração do OpsCenter e Explorer com AWS Security Hub O AWS Systems Manager anunciou a integração das ferramentas OpsCenter e Explorer com o AWS Security Hub. Isso permite examinar, investigar e solucionar falhas de segurança, juntamente com outros problemas operacionais nessas ferramentas. AWS Service Catalog – Suporte a aplicações do AppRegistry O AWS Service Catalog adicionou o suporte de seu console para aplicações do AppRegistry. Essa atualização possibilita criar e gerenciar seus metadados de aplicações em uma experiência de console totalmente otimizada. AWS Control Tower – Disponibilização de softwares de terceiros no AWS Marketplace O AWS Control Tower anunciou a disponibilização de uma coleção de softwares de terceiros desenvolvidos para o serviço no AWS Marketplace. Os usuários podem escolher entre serviços profissionais e soluções de software, como gerenciamento de identidade, segurança para um ambiente de várias contas, rede centralizada, entre outros recursos. AWS Secrets Manager – Novo driver para Kubernetes O AWS Secrets Manager anunciou um novo driver para Kubernetes, o AWS Secrets and Configuration Provider (ASCP), que permite que as aplicações em execução nos pods do Kubernetes recuperem segredos do AWS Secrets Manager facilmente, sem a necessidade de código personalizado. Analytics & Operations Amazon Cloudwatch – Anúncio do Moving Graphics O Amazon Cloudwatch anunciou o recurso Moving Graphics que permite a animação do painel do CloudWatch, bem como a visualização simplificada da progressão da integridade e das tendências da performance operacional de seu sistema. https://aws.amazon.com/pt/about-aws/whats-new/2021/04/announcing-moving-graphs-for-cloudwatch-dashboards/ AWS SAM CLI – Suporte a aplicações do AWS CDK O AWS Serverless Application Model (SAM) CLI, ferramenta de desenvolvimento de aplicações severless agora suporta aplicações AWS Cloud Development Kit (CDK) em preview público. AWS Distro for Open Telemetry – Suporte a camadas Lambda e outros recursos O AWS Distro for OpenTelemetry, adicionou suporte a camadas Lambda de forma gerenciada, permitindo inicializar o OpenTelemetry SDK e o Collector em suas funções AWS Lambda para coleta de dados de rastreamento. Amazon Kendra – Lançamento do recurso de ajuste dinâmico de relevância O Amazon Kendra é um serviço de pesquisa inteligente com tecnologia de machine learning, e lançou um novo recurso que dá mais controle aos usuários ao obter resultados de pesquisa otimizadas. Networking & Compute AWS Network Firewall – Disponível em 10 novas regiões O AWS Network Firewall, o serviço de firewall gerenciado da AWS, anunciou disponibilidade em 10 novas regiões, incluindo São Paulo. AWS Nitro Enclaves – Compatível com Windows O AWS Nitro Enclaves, agora é compatível com sistemas operacionais Windows, o que permite a criação de ambientes isolados de computação de instâncias do EC2 executadas em Windows. Database & Storage AWS Snow Family – Agora permite long-term pricing em jobs da ferramenta O AWS Snow Family agora permite que você gerencie os Jobs do Snowball Edge com long-term pricing diretamente do console ou através de APIs. Amazon Cloudwatch – Lançamento do Amazon CloudWatch Monitoring Framework for Apache O Amazon Cloudwatch anunciou o lançamento do Amazon CloudWatch Monitoring Framework for Apache, que auxilia na configuração de dashboards do Cloudwatch para monitorar workloads do Apache rodando em AWS. Amazon Redshift – Suporte a Recursive Common Table Expression (CTE) O Amazon Redshift agora oferece suporte a Recursive Common Table Expression (CTE), que permite consultar dados hierárquicos. Amazon Redshift – Suporte a dados semiestruturados e JSON O Amazon Redshift anunciou suporte nativo a dados semiestruturados e JSON. Ele é baseado no novo tipo de dados “SUPER”, que permite a ingestão e o armazenamento de dados semiestruturados. AWS Glue – Suporte a autenticação de streams do Apache Kafka O AWS Glue agora oferece suporte à autenticação de certificado de cliente SSL com produtores de stream do Apache Kafka. O que permite fornecer um certificado personalizado ao definir uma conexão do AWS Glue com um cluster Apache Kafka, que o AWS Glue usará ao se autenticar nele. Driver Java (JDBC) for PostgreSQL – Disponível em demonstração O Driver Java (JDBC) para PostgreSQL da AWS agora está disponível em versão de demonstração. Esse driver de banco de dados de código aberto permite que as aplicações que se conectam ao Amazon Aurora PostgreSQL minimizem o tempo de failover, monitorando de perto o status do cluster de banco de dados. Novos lançamentos AWS for Media and Entertainment – Lançamento O AWS lançou um novo serviço, o AWS for Media and Entertainment, que oferece soluções e ferramentas voltadas especialmente para produtores de conteúdo, proprietários de direitos, , emissoras e distribuidores. Amazon Ninble Studio – Lançamento A AWS lançou mais um serviço: o Amazon Nimble Studio. O Nimble Studio é um serviço gerenciado com o qual estúdios criativos podem produzir efeitos visuais, animação e conteúdo interativo inteiramente na nuvem, desde o esboço do storyboard até a entrega final. Performance Dashboard on AWS – Lançamento O outro lançamento da AWS é o Performance Dashboard on AWS. Que consiste em uma nova implementação de soluções da AWS de open source, para criar, implantar e manter painéis personalizáveis projetados para aumentar a transparência entre governos e seus constituintes acerca do desempenho de serviços e iniciativas do setor público. Quer saber as novidades da AWS das últimas semanas? Leia nosso blog! E acompanhe toda sexta-feira em nosso canal do Youtube nossa live sobre as Novidades da Semana.

Novidades da AWS – 23/12 a 22/01

Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas que fazem mais sentido para nosso mercado e que certamente aplicaremos em nosso dia a dia. Confira as novidades das últimas semanas de dezembro e primeiras semanas de janeiro. Segurança e Governança Amazon AppFlow – agora armazena credenciais na conta do AWS Secrets Manager O Amazon AppFlow agora pode armazenar credenciais criptografadas para se conectar a fontes de fluxo e aplicativos de destino, como, por exemplo, o tokens OAuth, chaves de aplicativo, APIs, além de senhas nas próprias contas do AWS Secrets Manager dos clientes. AWS Pricing Calculator – suporte a medição prévia de custos de workloads do Windows Server e do SQL Server Agora é possível utilizar o AWS Pricing Calculator para gerar estimativas de gastos das workloads do Windows Server e do SQL Server considerando o licenciamento da Microsoft. AWS Certificate Manager (ACM) – compatível com FedRAMP O AWS Certificate Manager (ACM), agora é compatível com FedRAMP, programa americano que disponibiliza uma abordagem padrão para avaliação de segurança, autorização e monitoramento contínuo de produtos e serviços na nuvem. AWS Artfact – facilita o compartilhamento e download de documentos de compliance O AWS Artifact anunciou que agora é possível baixar e compartilhar documento de complicance da AWS sem a necessidade de entrar em contato com a plataforma para realizar a solicitação. Amazon GuardDuty – adição de novos recursos de detecção O Amazon GuardDuty adicionou três novos recursos de detecção de ameaças que ajudam a notificar o usuário quando agentes maliciosos tiverem algum tipo acesso em seus dados do Amazon Simple Storage Service (S3). AWS Compute Optimizer – oferece recomendações para funções Lambda O AWS Compute Optimizer agora oferece recomendações de tamanho de memória para funções do Lambda. Podendo verificar se o tamanho da memória previsto em sua função Lambda está coerente com suas necessidades. Certificados AWS – Novo exame beta para AWS Certified SysOps Administrator – Associate A AWS anunciou que estão abertas as inscrições do novo exame beta do AWS Certified SysOps Administrator – Associate, que acontecerá entre os dias 16 de fevereiro a 26 de março. O exame beta apresenta uma combinação de três possíveis formatos de perguntas, incluindo múltipla escolha, resposta múltipla e laboratórios de exames. Integração e DevOps AWS Outposts – disponibilidade a conectividade privada em cloud Agora é possível conectar de maneira privada sua infraestrutura do AWS Outposts on-premise, em um ambiente em cloud através do Direct Connect. AWS Snow – console da Família AWS Snow simplificado O console da Família AWS Snow foi aprimorado de forma que facilite e simplifique a criação bem como o gerenciamento de transferência de dados e computação do Snow, assim melhorando a experiência do usuário. AWS Snow Family – suporte a Linux 2 O AWS Snow Family agora oferece suporte ao sistema operacional Amazon Linux 2, de forma que seja possível executar workloads no sistema operacional. AWS OpsHub – Disponível para Linux O AWS OpsHub, interface de usuário gráfica que gerencia seus dispositivos AWS Snowcone e AWS Snowball, anunciou suporte a Linux. AWS Snowcone – suporte a fluxos multicast e roteamento O AWS Snowcone agora oferece suporte a diversos recursos como fluxos multicast, roteamento, balanceamento de carga, entre outros casos de uso de rede. Assim permitindo que as instâncias em um dispositivo Snow tenham acesso direto a uma rede externa. AWS Distributed Load Testing – Apresentação v1.2 A AWS anunciou a versão v1.2 do Distributed Load Testing, serviço que auxilia a simular facilmente milhares de usuários conectando a seu aplicativo para entender melhor o desempenho dos seus aplicativos sob carga. Porting Assistant for .NET – suporte a tradução automática de código O Porting Assistant for .NET agora oferece suporte à tradução automática de código, trazendo a possibilidade de além de identificar incompatibilidades no código-fonte, o serviço agora pode fazer alterações de forma automática no código-fonte para lidar com incompatibilidades comumente encontradas no .NET Core. Porting Assistant for .NET – Interface gráfica agora é open source A AWS anunciou que a interface gráfica do usuário do Porting Assistant for .NET agora está disponível em código aberto. AWS App2Container – suporte a execução remota de fluxos de trabalho O AWS App2Container agora oferece suporte à execução remota do fluxo de trabalho de agrupamento em contêiner. Amazon ECS – ECS deployment Circuit Breaker disponível O Amazon ECS anunciou a disponibilidade geral do ECS deployment Circuit Breaker para tipos de execução de EC2 e Fargate. Amazon SQS – Anúncio do tiered pricing A partir desse ano o Amazon Simple Queue Service fornece definição de preço para solicitações mensais de API, assim permitindo que a definição de preço possa fornecer descontos com base no uso mensal do Amazon SQS. Amazon MSK – Simplificação do teste de resiliência do cliente Apache Kafka Agora é possível reinicializar agentes individuais em seu Amazon Managed Streaming for Apache Kafka(Amazon MSK) usando a API de reinicialização de agente. Compute e Network Amazon EC2 – Disponibilidade das instâncias M5zn A AWS anunciou a disponibilidade das instâncias M5zn na região de São Paulo. Essas novas instâncias possuem processadores de alta frequência, alta velocidade e baixa latência. Amazon EC2 – instâncias M6g, C6g e R6g do Amazon EC2 disponíveis As instâncias M6g, C6g, e R6g do Amazon EC2 já estão disponíveis nas regiões de São Paulo e AWS GovCloud (EUA). Amazon EC2 – Certificação das Instâncias R5B em SAP A AWS anunciou que as instâncias R5B do Amazon EC2 agora são certificadas para workloads SAP. Amazon EFS – Métricas de monitoramento com CloudWatch Agora é possível monitorar o tamanho de armazenamento dos recursos do Amazon Elastic File System através do Amazon CloudWatch. Amazon Lightsail – suporte a IPv6 O Amazon Lightsail agora suporta IPv6, em recursos como instâncias, contêineres, balanceadores de carga e CDN. AWS Wavelength – Disponível na Coreia do Sul A AWS anunciou mais uma Wavelength Zone. Desta vez será na Coreia do Sul em parceria com a SK Telecom, o que permite

SaaS na AWS

Entenda na prática como é possível utilizar serviços 100% gerenciados pela AWS para hospedar sua solução SaaS, multi-tenant e whitelabel domain (com códigos de automação em Python).

MongoDB

Quer aprender sobre esta ferramenta de Banco de Dados não-relacional, como ela funciona e como poder instalar em qualquer sistema operacional e provedor de nuvem? Acompanhe sobre MongoDB

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações