Skip to main content

Noções básicas sobre o ciclo de vida do codespace

Saiba como desenvolver em um ambiente de GitHub Codespaces e manter seus dados ao longo de todo o ciclo de vida do Codespace.

Observação

Este artigo explica as fases da vida útil de um codespace, da criação à exclusão. Se você leu o artigo AUTOTITLE e agora deseja começar a usar o GitHub Codespaces para seu trabalho, confira os artigos abaixo de AUTOTITLE.

Sobre o ciclo de vida de um codespace

O ciclo de vida de um codespace começa quando você cria um codespace e termina quando você o exclui. Você pode desconectar-se e reconectar-se a um codespace ativo sem afetar seus processos em execução. Você pode parar e reiniciar um espaço de código sem perder as alterações que você fez.

Criar um codespace

Quando você deseja trabalhar em um projeto, você pode optar por criar um novo codespaceou abrir um codespace já existente. Você tem a opção de criar um codespace com base em um branch do seu repositório sempre que desenvolver no GitHub Codespaces ou manter um codespace por um longo período para uma funcionalidade. Ao iniciar um novo projeto, você pode criar um codespace com base em um modelo e publicá-lo mais tarde em um repositório no GitHub. Para saber mais, confira AUTOTITLE e AUTOTITLE.

Há limites para o número de codespaces que você pode criar e o que você pode executar ao mesmo tempo. Esses limites variam de acordo com uma série de fatores. Se você atingir o número máximo de codespaces e tentar criar outro, uma mensagem será exibida informando que você deverá remover um codespace antes de criar um novo. Da mesma forma, se você atingir o número máximo de codespaces ativos e tentar iniciar outro, será solicitado que você encerre um de seus codespaces ativos.

Se você optar por criar um novo codespace cada vez que trabalhar em um projeto, deverá fazer push das alterações regularmente para que todos os novos commits estejam em GitHub. Se você optar por usar um codespace de longo prazo para o seu projeto, você deverá retirá-lo do branch padrão do repositório cada vez que começar a trabalhar no seu codespace para que seu ambiente tenha os commits mais recentes. Esse fluxo de trabalho é muito parecido como se você estivesse trabalhando com um projeto na sua máquina local.

Para acelerar a criação de codespaces, os administradores de repositório podem habilitar pré-builds do GitHub Codespaces em um repositório. Para saber mais, confira Sobre prebuilds de Codespaces do GitHub.

Salvar alterações em um codespace

Ao conectar-se a um codespace pela web, o salvamento automático é habilitado para o editor da web e configurado para salvar as alterações após um atraso. Ao conectar-se a um codespace por meio de Visual Studio Code em execução no seu computador, você deverá habilitar o salvamento automático. Para obter mais informações, confira Salvar/Salvar Automaticamente na documentação do Visual Studio Code.

O trabalho será salvo em uma máquina virtual na nuvem. É possível fechar e interromper um codespace e retornar ao trabalho salvo mais tarde. Se você tiver alterações não salvas, seu editor solicitará que você as salve antes de sair. No entanto, se o seu codespace for excluído, então o seu trabalho também será excluído. Para persistir seu trabalho, você precisará realizar o commit de suas alterações e enviá-las por push ao repositório remoto, ou publicá-las em um novo repositório remoto se você criou seu codespace a partir de um modelo. Para saber mais, confira AUTOTITLE.

Limites de tempo do GitHub Codespaces

Se você não interagir com o seu codespace em execução ou se você sair do seu codespace sem pará-lo explicitamente, ele vai expirar após um determinado tempo de inatividade e vai parar de executar. Por padrão, um código vai expirar após 30 minutos de inatividade. No entanto, você pode personalizar a duração do período de tempo limite para novos codespaces que você criar. Para obter mais informações sobre como definir o período de tempo limite padrão para seus codespaces, confira AUTOTITLE. Para obter mais informações sobre como interromper um codespace, confira Como interromper um codespace.

Quando o tempo de um codespace chega ao limite, os seus dados são preservados da última vez que suas alterações foram salvas. Para obter mais informações, confira Como salvar alterações em um codespace.

Reconstruindo um 'codespace'

Você pode reconstruir seu codespace para implementar modificações que você fez na configuração do contêiner de desenvolvimento. Para a maioria dos usos, você pode criar um novo ambiente de codificação como uma alternativa à reconstrução de um ambiente de codificação. Por padrão, quando você recompila seu codespace, GitHub Codespaces reutilizará imagens do cache para acelerar o processo de recompilação. Como alternativa, você pode executar uma recompilação completa, que limpa o cache e recria o contêiner com imagens novas.

Observação

Quando você recompila o contêiner em um codespace, as alterações feitas fora do diretório /workspaces são limpas. As alterações feitas dentro do diretório /workspaces, que inclui o clone do repositório ou do modelo com base no qual você criou o codespace, são preservadas em uma recompilação. Para saber mais, confira Aprofundamento de GitHub Codespaces.

Para saber mais, confira AUTOTITLE e AUTOTITLE.

Interrompendo um codespace

Você pode interromper um codespace a qualquer momento. Ao interromper um codespace, todos os processos em execução são interrompidos. Qualquer alteração salva no seu codespace ainda estará disponível na próxima vez que você iniciá-lo. O histórico do terminais é preservado, mas o conteúdo visível da janela do terminal não é preservado entre as sessões de codespace.

Se você não interromper explicitamente um codespace, ele continuará sendo executado até que o tempo seja esgotado em razão de inatividade. O fechamento de um codespace não o interrompe. Por exemplo, se você estiver usando um codespace no cliente Web do VS Code e fechar a guia do navegador, o codespace permanecerá em execução no computador remoto. Para saber mais sobre tempos limite, confira Noções básicas sobre o ciclo de vida do codespace.

Somente a execução de codespaces incorre em encargos de CPU. Um codespace interrompido incorre apenas em custos de armazenamento.

Você deverá interromper e reiniciar um codespace para aplicar as alterações nele. Por exemplo, se você mudar o tipo de máquina usado no seu codespace, você deverá interromper e reiniciá-la para que a alteração seja implementada. Você também pode interromper o seu codespace e optar por reiniciá-lo ou excluí-lo se você encontrar um erro ou algo inesperado. Para obter mais informações, confira AUTOTITLE.

Excluir um codespace

Você pode criar um codespace para uma tarefa específica e, em seguida, excluí-lo com segurança depois de enviar suas alterações para um branch remoto.

Se você tentar excluir um codespace com commits git que não foram enviados por push, o seu editor notificará você de que você tem alterações que não foram enviadas por push para um branch remoto. Você pode fazer push de todas as alterações desejadas e, em seguida, excluir o seu codespace ou simplesmente excluir o seu codespace e quaisquer alterações não comitadas. Você também pode exportar seu código para um novo branch sem criar um novo codespace. Para saber mais, confira AUTOTITLE.

Os codespaces interrompidos que permanecerem inativos por um período especificado serão excluídos automaticamente. Por padrão, os codespaces inativos são excluídos após 30 dias, mas é possível personalizar o período de retenção deles. Para saber mais, confira AUTOTITLE.

Se você criar um codespace, ele continuará acumulando encargos de armazenamento até ser excluído, independentemente de estar ativo ou ter sido interrompido. Para saber mais, confira AUTOTITLE. A exclusão de um codespace não reduz o valor atual faturável do GitHub Codespaces, que é acumulado durante cada ciclo de cobrança mensal. Para saber mais, confira AUTOTITLE.

Para obter mais informações sobre como excluir um codespace, confira AUTOTITLE.

Perder a conexão ao usar o GitHub Codespaces

O GitHub Codespaces é um ambiente de desenvolvimento baseado na nuvem que requer uma conexão com a Internet. Se você perder a conexão à internet enquanto trabalha em um codespace, você não poderá acessar seu codespace. No entanto, todas as alterações não comprometidas serão salvas. Quando você tiver acesso a uma conexão à internet novamente, você poderá conectar-se ao seu codespace no mesmo estado em que ele foi deixado. Se você tiver uma conexão instável com a internet, deve fazer commit e push das suas alterações com frequência.

Se você sabe que trabalhará frequentemente offline, pode usar seu arquivo com a extensão "Dev Containers" para o VS Code a fim de criar e conectar a um contêiner de desenvolvimento local do seu repositório. Para obter mais informações, confira Desenvolvimento em um contêiner na documentação do Visual Studio Code.