O que é GitHub Codespaces e como usar
Tags: braziliandevs, github, productivity, githubbrasil
Published: 2023-02-09 14:16:52


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


[Perguntei no Twitter](https://twitter.com/pachicodes/status/1620097851002093575): 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](https://github.com/codespaces) 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](https://lh6.googleusercontent.com/ahv41mlKzhI-qmdiELdcDa5WCN8Kll3LM1k2tgkjMSZPKkELz-l_jHySGcF5JIJwVuakt01HBxdT7ybk-OsOK8zWdAN36q-Fsqh6IcZv5DvkLqat-5zB3Oy3e6OjfevNfh7dU9rgkmR5N7W9FoXz1WM)

## 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](https://docs.github.com/pt/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces).

  

## 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](https://twitter.com/willgmbr)

  

> 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](https://twitter.com/vcwild)

  

> Eu uso para documentações técnicas, facilita muito a documentação técnica estar perto do codigo - [Prigs](https://twitter.com/pr1gs)

  

Também fiz um artigo recentemente sobre [como usar Codespaces para dar aulas de programação](https://dev.to/github/porque-github-codespaces-e-a-melhor-ferramenta-para-seu-workshop-de-programacao-607)!

  

## 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](https://twitter.com/GitHubBrasil) 🐦

[GitHub Brasil no LinkedIn](https://www.linkedin.com/company/github-brazil/) 📝

[GitHub Brasil na Twitch](https://www.twitch.tv/githubbrasil) 🟣

[Meet-ups do GitHub em português](https://www.meetup.com/pt-BR/githubbrasil/)🗣️