Blog Post

Desenvolvedores BR
7 MIN READ

Learn Live GitHub Foundations - Automatização com GitHub Actions

Glaucia_Lemos's avatar
Glaucia_Lemos
Icon for Microsoft rankMicrosoft
Oct 11, 2024

 

 

No Learn Live da série Certificação GitHub Foundations dessa semana, foram exploradas as possibilidades de automatização com GitHub Actions. A automatização de fluxos de trabalho é essencial para desenvolvedores que desejam ganhar eficiência, reduzir erros manuais e se concentrar em atividades de maior valor.

 

A sessão foi conduzida por Pablo Lopes, Cloud Advocate na Microsoft, e contou com a participação do Renicius Fostaini, Senior Infrastructure Engineer na ThoughtWorks. Ambos focaram em conceitos e demonstrações práticas para ajudar a audiência a entender como usar o GitHub Actions e GitHub Codespaces de maneira eficiente.

 

Essa é uma série de lives dedicada a quem deseja se certificar com o GitHub Foundations. Acompanhe a agenda, inscreva-se e participe das próximas sessões!

 

 

Inscreva-se AQUI para receber notificações sobre os próximos eventos.

 

Confira agora um resumo do que foi abordado durante a sessão!

 

Não Perca a Sessão Gravada

 

Se você perdeu a live, não se preocupe! O vídeo está disponível no canal do YouTube do Microsoft Reactor. Acesse o link abaixo para assistir à sessão completa:

 

 

Pablo e Renicius discutiram como automatizar processos com GitHub Actions e exploraram o GitHub Codespaces, que facilita a configuração de ambientes de desenvolvimento de forma prática e centralizada na nuvem.

 

Ambos fizeram uma introdução sobre as vantagens de usar essas ferramentas, destacando como elas ajudam a solucionar problemas comuns enfrentados por desenvolvedores, como a dificuldade de replicar ambientes e a necessidade de automatizar tarefas repetitivas. Eles enfatizaram que a automação de fluxos de trabalho é essencial para ganhar eficiência, reduzir erros manuais e se concentrar em atividades de maior valor.

 

Os principais objetivos da sessão foram:

 

  • Utilizar o GitHub Codespaces de maneira eficiente.
  • Escrever código com o GitHub Copilot.
  • Automatizar processos com GitHub Actions.

 

 

GitHub Codespaces

 

 

Uma das maiores dificuldades que muitos desenvolvedores enfrentam é replicar ambientes de desenvolvimento em diferentes máquinas.

Como Pablo explicou na live, o famoso "funciona na minha máquina" é um problema recorrente e pode atrasar o progresso de um projeto colaborativo. O GitHub Codespaces resolve essa questão ao oferecer um ambiente virtual que permite o desenvolvimento direto na nuvem.

 

Com o GitHub Codespaces, é possível resolver esse problema criando e configurando um ambiente de desenvolvimento com um simples clique. Este ambiente é uma máquina virtual que pode ser facilmente escalada, permitindo que todos os desenvolvedores de uma equipe utilizem um setup padronizado, sem a necessidade de instalações locais complexas.

 

Qual é o ciclo de vida de um Codespaces?

 

 

O ciclo de vida de um Codespaces envolve as seguintes etapas principais:

 

  • 1. creating a Codespaces (criação do Codespaces): O ciclo de vida do Codespaces começa com a criação de um novo ambiente, onde o desenvolvedor(a) seleciona o repositório e as configurações desejadas. Esse ambiente é então configurado automaticamente, incluindo extensões e dependências.

  • 2. rebuilding a codespace (reconstrução do codespace): Durante o uso, pode ser necessário reconstruir o Codespace, especialmente se houver mudanças significativas nas configurações ou dependências do projeto (por exemplo, modificações no arquivo .devcontainer.json). A reconstrução garante que o ambiente esteja sempre atualizado com as configurações mais recentes.

  • 3. stopping a codespace (pausa do codespace): Para economizar recursos, o Codespace pode ser pausado quando não está em uso. Essa etapa permite que o estado do trabalho seja salvo, e o desenvolvedor possa retomar do ponto em que parou sem perder nenhuma alteração.

  • 4. deleting a codespace (exclusão do codespace): O ciclo de vida termina com a exclusão do Codespace quando ele não é mais necessário. Essa etapa libera os recursos associados e encerra o ambiente de forma definitiva.Principais Benefícios do GitHub Codespaces

 

 

Benefícios do GitHub Codespaces

 

Os principais benefícios do GitHub Codespaces incluem:

 

  • ambiente virtual padronizado: Garante que todos os desenvolvedores trabalhem com a mesma configuração, eliminando inconsistências e problemas de compatibilidade entre diferentes máquinas.

  • escalabilidade flexível: Permite ajustar recursos como CPU e memória de acordo com as necessidades específicas do projeto, garantindo performance ideal para cada etapa do desenvolvimento.

  • configuração automatizada: O Codespaces utiliza o arquivo .devcontainer.json para configurar automaticamente extensões, dependências e outras configurações, proporcionando um ambiente pronto para uso em minutos.

  • colaboração simplificada: Compartilhe seu Codespace com outros desenvolvedores, permitindo acesso simultâneo, visualização em tempo real e contribuições colaborativas de forma prática e eficiente.

  • redução de problemas de configuração: Evita o famoso problema do "funciona na minha máquina", garantindo que todos os membros da equipe tenham acesso ao mesmo ambiente, com as mesmas ferramentas e configurações.

 

GitHub Copilot: Seu Parceiro no Desenvolvimento de Código

 

 

Pablo e Renicius também apresentaram o GitHub Copilot, uma ferramenta de desenvolvimento de código baseada em inteligência artificial que auxilia os desenvolvedores a escrever código de maneira mais rápida e eficiente.

 

E explicaram as diversas maneiras como o GitHub Copilot pode ser utilizado, incluindo:

 

  • sugestões inline: O Copilot sugere automaticamente trechos de código enquanto você escreve, diretamente no editor, facilitando a incorporação rápida de sugestões sem interromper o fluxo de trabalho.

  • sugestões por chat: Você pode interagir com o Copilot através de um chat, fazendo perguntas sobre problemas específicos, pedindo exemplos ou explicações.

  • chat inline: Similar ao chat, mas realizado diretamente no contexto do código em que você está trabalhando. Isso permite obter sugestões específicas ou entender seções de código sem sair do editor.

  • command palette: A paleta de comandos do editor (como VS Code) permite acessar funcionalidades do Copilot de forma rápida e eficiente.

  • comentários no código: Escreva comentários descrevendo o que deseja implementar, e o Copilot gera o código relevante com base nesses comentários. Isso é útil para economizar tempo quando você já tem uma ideia clara do que precisa fazer.

 

Essas diferentes formas de interação oferecem uma abordagem flexível e poderosa para melhorar a produtividade, adaptando-se a fluxos de trabalho de desenvolvimento.

 

Os participantes também foram incentivados a explorar o GitHub Student Developer Pack, que oferece acesso gratuito ao GitHub Copilot e a outras ferramentas para estudantes.

 

 

Automação com GitHub Actions

 

 

A segunda parte da live foi dedicada à criação de uma pipeline automatizada utilizando GitHub Actions.

 

Pablo apresentou um exemplo prático de como criar um workflow simples que executa uma ação personalizada em resposta a um evento de push. O exemplo incluiu a criação de um repositório com um arquivo de ação personalizada e um arquivo de configuração de workflow.

 

name: A workflow for my Hello World file
on: push
jobs:
  build:
    name: Hello world action
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: ./action-a
        with:
          MY_NAME: "Mona"

 

No exemplo acima, temos um arquivo de configuração de workflow que executa um job chamado build em resposta a um evento de push. O job é executado em uma máquina virtual ubuntu-latest e consiste em duas etapas: actions/checkout@v1 e ./action-a. A primeira etapa faz o checkout do repositório, enquanto a segunda executa uma ação personalizada chamada action-a com um parâmetro MY_NAME definido como Mona.

 

Demonstração Prática

 

 

Renicius fez uma demonstração prática de como criar uma aplicação estática e automatizar o seu deploy no Azure Static Web Apps. O Azure Static Web Apps é um serviço que permite hospedar aplicações estáticas e APIs serverless de forma simples e rápida, oferecendo integração contínua e deploy automático a partir de repositórios GitHub ou Azure DevOps.

 

A demonstração foi dividida em cinco etapas principais:

 

  • 1. criação da aplicação estática: Renicius iniciou criando uma aplicação simples, que consistia em alguns arquivos HTML. O objetivo era mostrar como é possível implementar rapidamente uma aplicação estática que poderia ser distribuída.

  • 2. configuração do workflow: Utilizando um arquivo YAML (main.yaml)

  • 3. compilação do código: A etapa de compilação era realizada para garantir que não houvesse erros antes de prosseguir com o deploy.

  • 4. testes automatizados: Testes foram adicionados para validar o código da aplicação. Esta prática é importante para manter a qualidade e a estabilidade do código, identificando problemas antecipadamente.

  • 5. deploy no Azure Static Web Apps: Por fim, o deploy era feito automaticamente no Azure Static Web Apps, utilizando as configurações definidas no workflow.

Além disso, Renicius usou o GitHub Copilot com o GitHub Codespaces para acelerar o desenvolvimento e a configuração do ambiente de desenvolvimento. Essas ferramentas combinadas permitiram uma experiência de desenvolvimento mais eficiente e produtiva.

 

 

Conclusão

 

A live sobre Automatização com GitHub Actions foi uma oportunidade incrível para aprender sobre as possibilidades de automação no desenvolvimento de software. Pablo e Renicius compartilharam conhecimentos valiosos sobre o GitHub Codespaces, GitHub Copilot e GitHub Actions, demonstrando como essas ferramentas podem ser utilizadas para melhorar a produtividade, a qualidade do código e a eficiência dos fluxos de trabalho.

 

Se você está buscando otimizar o seu fluxo de trabalho, GitHub Actions e Codespaces podem ser exatamente o que você precisa. Você pode acessar os materiais de apoio da live e cursos gratuitos nos links abaixo e aprender ainda mais:

 

 

Não perca as próximas sessões do Learn Live! Vamos explorar temas como segurança de projetos no GitHub e aumentar a produtividade com GitHub Copilot.

 

 

Espero que este resumo da live tenha sido útil para você. Se você tiver alguma dúvida ou sugestão, deixe um comentário. Estamos aqui para ajudar na sua jornada de aprendizado.

 

Experimente GitHub Actions e Codespaces em seus projetos e veja como podem transformar seu fluxo de trabalho. Para começar, confira os tutoriais e guias práticos disponíveis nos links acima.

 

Até a próxima live! 😎

 

Published Oct 11, 2024
Version 1.0
No CommentsBe the first to comment