O que é um codespace?
Um codespace é um ambiente de desenvolvimento hospedado na nuvem. Você pode personalizar seu projeto para o GitHub Codespaces fazendo commit dos arquivos de configuração no seu repositório (geralmente conhecido como configuração como código), o que cria uma configuração de codespace repetível para todos os usuários do projeto. Confira "Introdução aos contêineres de desenvolvimento".
Cada codespace criado é hospedado por GitHub em um contêiner do Docker em execução em uma máquina virtual. Você pode escolher entre uma seleção de tipos de máquina virtual, de 2 núcleos, 8 GB de RAM e 32 GB de armazenamento, até 32 núcleos, 64 GB de RAM e 128 GB de armazenamento.
Por padrão, o ambiente de desenvolvimento dos codespaces é criado com base em uma imagem do Ubuntu Linux que inclui uma seleção de linguagens e ferramentas populares, mas você pode usar uma imagem com base em uma distribuição do Linux de sua escolha e configurá-la para requisitos específicos. Independentemente do sistema operacional local, o codespace será executado em um ambiente Linux. Não há suporte para sistemas operacionais Windows e macOS para o contêiner de desenvolvimento remoto.
Você pode se conectar aos seus codespaces por meio do navegador, por meio do Visual Studio Code, do aplicativo JetBrains Gateway ou usando a GitHub CLI. Ao se conectar, você é colocado dentro do contêiner do Docker. Você tem acesso limitado ao host externo da máquina virtual do Linux.
Benefícios do GitHub Codespaces
Os motivos para optar por trabalhar em um codespace incluem:
- Use um ambiente de desenvolvimento pré-configurado – Você pode trabalhar em um ambiente de desenvolvimento que foi configurado especificamente para o repositório. Ele terá todas as ferramentas, linguagens e configurações necessárias para trabalhar nesse projeto. Todos que trabalham nesse repositório em um codespace terão o mesmo ambiente. Isso reduz a probabilidade de problemas relacionados ao ambiente ocorrerem e ser difíceis de depurar. Cada repositório pode ter configurações que darão aos colaboradores um ambiente pronto para uso e adequado à finalidade, e o ambiente no computador local não será alterado.
- Acesse os recursos necessários – O computador local pode não ter o poder de processamento nem o espaço de armazenamento de que você precisa para trabalhar em um projeto. O GitHub Codespaces permite que você trabalhe remotamente em um computador com recursos adequados.
- Trabalhe em qualquer lugar – Basta ter um navegador da Web. Você pode trabalhar em um codespace no seu computador, no laptop de um amigo ou em um tablet. Abra o codespace e retome no ponto em que parou em outro dispositivo.
- Escolha seu editor – Trabalhe no navegador no cliente Web do VS Code ou escolha um entre uma seleção de aplicativos baseados em área de trabalho.
- Trabalhe em vários projetos – Você pode usar vários codespaces para trabalhar em projetos separados ou em diferentes branches do mesmo repositório, compartimentalizando seu trabalho a fim de evitar alterações feitas em um trabalho que afete acidentalmente outro item no qual você está trabalhando.
- Emparelhe um programa com um colega de equipe – Se você trabalhar em um codespace do VS Code, poderá usar o Live Share para trabalhar de maneira colaborativa com outras pessoas da sua equipe. Confira "Com trabalhar de modo colaborativo em um codespace".
- Publique seu aplicativo Web por meio de um codespace – Encaminhe uma porta do codespace e, em seguida, compartilhe a URL para permitir que seus colegas de equipe experimentem as alterações feitas no aplicativo antes de enviá-las em uma pull request.
- Experimente uma estrutura – O GitHub Codespaces reduz o tempo de instalação quando você deseja aprender uma nova estrutura. Basta criar um codespace com base em um dos modelos de início rápido.
Como usar o GitHub Codespaces
Para começar o desenvolvimento usando recursos de computação baseados na nuvem, crie um codespace com base em um modelo ou em qualquer branch ou faça commit em um repositório. Ao criar um codespace com base em um modelo, você pode começar com um modelo em branco ou escolher um modelo adequado para o trabalho que está fazendo.
Para começar a usar o GitHub Codespaces, confira "Guia de início rápido do GitHub Codespaces". Para obter mais informações sobre como criar um codespace, confira "Como criar um codespace para um repositório" ou "Como criar um codespace com base em um modelo". Se você quiser retornar a um codespace que já criou, confira "Como abrir um codespace existente". Para saber mais sobre como funciona o GitHub Codespaces, confira "Aprofundamento de GitHub Codespaces".
Como usar codespaces pertencentes à sua conta pessoal
Todas as contas pessoais do GitHub têm uma cota mensal de uso gratuito do GitHub Codespaces incluída no plano Gratuito ou Pro. Comece a usar o GitHub Codespaces na sua conta pessoal sem alterar nenhuma configuração ou fornecer detalhes de pagamento.
Se você criar um codespace por meio de um repositório de propriedade da organização, o uso do codespace será cobrado para a organização (se a organização estiver configurada para isso) ou para sua conta pessoal.
Você pode continuar usando o GitHub Codespaces além do uso mensal incluído de armazenamento e computação fornecendo detalhes de pagamento e definindo um limite de gastos. Confira "Sobre o faturamento do GitHub Codespaces".
Como usar codespaces de propriedade da organização
Os proprietários de organizações nos planos GitHub Team e GitHub Enterprise podem pagar pelo uso do GitHub Codespaces por seus membros e colaboradores. Isso se aplica aos codespaces criados com base em repositórios pertencentes à organização. Confira "Como escolher quem tem a propriedade e paga pelos codespaces em sua organização". Defina um limite de gastos para uso do GitHub Codespaces na sua organização ou na sua conta corporativa. Confira "Gerenciar o limite de gastos do GitHub Codespaces".
Se o uso de um codespace for cobrado para uma organização ou uma empresa, isso será mostrado quando o codespace for criado. Confira "Como criar um codespace para um repositório". Os codespaces cobrados de uma organização ou de sua empresa-mãe pertencem à organização e podem ser excluídos por um proprietário dela. Confira "Excluir um codespace".
A capacidade de criar codespaces com base em repositórios de propriedade da organização depende de vários fatores, como a visibilidade do repositório e as configurações da organização ou da empresa-mãe. Para obter mais informações, confira "Solucionar problemas de criação e exclusão de codespaces".
Como personalizar o GitHub Codespaces
Para personalizar os runtimes e as ferramentas em seu codespace, você pode criar uma ou mais configurações de contêiner de desenvolvimento para seu repositório. A adição de configurações de contêiner de desenvolvimento ao seu repositório permite que você defina uma escolha de diferentes ambientes de desenvolvimento apropriados para o trabalho que as pessoas farão em seu repositório.
Se você criar um codespace por meio de um repositório sem nenhuma configuração de contêiner de desenvolvimento, o GitHub Codespaces clonará seu repositório em um ambiente com a imagem do contêiner de desenvolvimento padrão que inclui muitas ferramentas, linguagens e ambientes de runtime. Se você criar um codespace com base em um modelo, poderá começar com uma configuração inicial baseada na imagem padrão. Confira "Introdução aos contêineres de desenvolvimento".
Personalize aspectos do ambiente do codespace usando um repositório de dotfiles público. Use dotfiles para definir aliases e preferências de shell ou para instalar sua preferência pessoal das ferramentas que deseja usar. Se você usar o GitHub Codespaces no navegador ou no Visual Studio Code, use a Sincronização de Configurações para fornecer ao editor de codespace as configurações, os atalhos de teclado, as extensões e os snippets idênticos que você configurou na instalação local do Visual Studio Code.
Confira "Personalizando seu codespace".
Cobrança do Codespaces
Para obter mais informações sobre preços, armazenamento e uso do GitHub Codespaces, confira "Sobre o faturamento do GitHub Codespaces".
Nota: você precisa definir um limite de gastos diferente de zero em sua conta pessoal, organizacional ou corporativa antes que a conta possa ser cobrada pelo uso de GitHub Codespaces.
Por padrão, todas as contas têm um limite de gastos de US$ 0 para GitHub Codespaces. Isso impede que novos codespaces sejam criados ou que os codespaces existentes sejam abertos, se isso incorrer em um custo faturável para sua conta pessoal, corporativa ou da organização. Para contas pessoais, se você tiver acesso para criar um codespace, poderá fazê-lo desde que a conta não tenha atingido o limite de seu uso mensal incluído. Para organizações e empresas, o limite de gastos padrão significa que, para permitir que as pessoas criem codespaces que são cobrados para a organização ou sua empresa-mãe, o limite precisa ser alterado para um valor acima de US$ 0.
Os custos de GitHub Codespaces são sempre cobrados mensalmente, mesmo que os outros itens de sua conta sejam cobrados anualmente. Para obter informações sobre como os proprietários de organizações e os gerentes de cobrança podem gerenciar o limite de gastos do GitHub Codespaces de uma organização, confira "Gerenciar o limite de gastos do GitHub Codespaces".