O que é GitHub Codespaces e como usar

Pachi 🥑 - Feb 9 '23 - - Dev Community

Olá pessoas, como vão vocês?

Perguntei no Twitter: Você sabe o que é GitHub Codespaces? E a resposta geral foi não.

Como essa ferramenta é super legal e útil, vocês deveriam conhecer ela. Resolvi criar um artigo sobre, contando um pouco o que é e porque é tão legal e como você poder começar a usá-la.

O que é um Codespace?

Um codespace é um ambiente de desenvolvimento hospedado na nuvem. Imagine seu *VS Code de todo dia, com todas suas extensões e seu setup do jeitinho que você gosta, só que acessível de qualquer máquina pelo navegador. Ta dã, Codespaces é basicamente isso.

Além de ter seu ambiente todo configurado na nuvem, ele é rápido e se inicializa em segundos!

*Eu usei o VS Code como exemplo, mas podemos usar JetBrains e Jupyter também.

Cada codespace que você cria é hospedado pelo GitHub em um contêiner Docker e executado em uma máquina virtual.

Por padrão, os Codespaces são criados a partir de uma imagem Linux que inclui uma seleção de linguagens e ferramentas populares, mas você pode usar uma imagem baseada em uma distribuição Linux de sua escolha e configurá-la para seus requisitos específicos. Independentemente do seu sistema operacional local, seu espaço de código será executado em um ambiente Linux.

Windows e MacOS não são sistemas operacionais com suporte para o contêiner remoto.

Algumas vantagens do CodeSpaces

  • Primeiramente, você pode codar de qualquer dispositivo em que você consegue abrir um navegador e tenha acesso à internet, sem ter que se preocupar se seu dispositivo é poderoso o suficiente. Se você está aprendendo a codar de um notebook antigo e ruinzinho que você ganhou de um primo distante, não tem problema, já que o Codespaces está na nuvem.

  • Onboardings muito mais rápidos: Você não precisa montar seu ambiente de desenvolvimento enquanto faz o onboarding de um projeto novo, você pode abrir o Codespaces instantaneamente do seu repositório GitHub pré-configurado, e com segurança, apenas clicando em um botão.

  • Você pode abrir Codespaces diretamente de uma Pull Request e resolver bugs diretamente da PR sem ter que esperar pelo seu ambiente de desenvolvimento carregar.

Gostei, como começo a usar?

Vou te ensinar as duas maneiras mais simples de começar a usar Codespaces.

Na primeira, você clica aqui e vai encontrar algumas opções de templates para usar de base para seu ambiente de desenvolvimento. Atualmente, os templates disponíveis são:

  • Ruby on Rails

  • React

  • Jupyter Notebook

  • Express

  • Next,js

  • Django

  • Flask

  • Preact

E também tem a opção Blank, pra você que quer começar do 0.

Outra maneira de iniciar um Codespaces é dentro de um repositório já existente:

  1. Na página inicial do seu repositório existe um botão verde escrito Code.

  2. Clicando nele você vai ver duas abas: Local and Codespaces.

  3. Click na aba Codespaces e aqui você verá outro botão verde, esse com o texto Create codespace on master.

  4. Clique neste botão e seu Codespaces foi iniciado!

página inicial do repo

Mas é de graça?

Sim e não, mas depende rs

Quando você cria um Codespaces, você pode escolher a configuração da sua máquina virtual: de 2 cores, 8 GB de RAM e 32 GB de armazenamento, até 32 cores, 64 GB de RAM e 128 GB de armazenamento.

O Github te disponibiliza até 60 horas grátis por mês, dependendo de quantos cores você usar na sua configuração:

  • 2 cores = 60 horas

  • 4 cores = 30 horas

  • 8 cores = 15 horas

As opções com mais cores são 8 cores são pagas, para saber sobre valores dá uma olhadinha aqui.

Exemplos de uso

Peguei lá daquele post do Twitter que comentei lá no comecinho, alguns user cases:

Temos designers conseguindo executar os comandos que eles precisam pelo Codespaces para gerar uns assets e tokens sem precisar ficar pedindo mais pra gente! Demais! - William Grasel

No começo eu usava muito jupyter notebook pq fazia muita análise de dados e era bem massa pq dava pra compartilhar com clientes e eles abriam direto do browser depois comecei a usar como ambiente cloud genérico e de repente não precisava mais carregar meus dotfiles de uma máquina pra outra tinha um setup que podia abrir em qualquer lugar, só logar no gh e pronto - Victor Wildner

Eu uso para documentações técnicas, facilita muito a documentação técnica estar perto do codigo - Prigs

Também fiz um artigo recentemente sobre como usar Codespaces para dar aulas de programação!

E você, já usou o Codespaces?

Se você já usou, compartilha com a gente como você usa, e se você nunca usou, mas esse post te deu ideias, fala aí como você planeja usá-lo!

Obrigada por ler até e sigam o GitHub Brasil das redes sociais para ficar por dentro de novidades <3

GitHub Brasil Twitter 🐦

GitHub Brasil no LinkedIn 📝

GitHub Brasil na Twitch 🟣

Meet-ups do GitHub em português🗣️

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .