Skip to main content

O ciclo de vida do codespace

É possível realizar o desenvolvimento em um ambiente do GitHub Codespaces e manter seus dados ao longo de todo o ciclo de vida do codespace.

Sobre o ciclo de vida de um codespace

O ciclo de vida de um codespace começa quando você cria um código 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 o processo sem perder as alterações feitas no seu projeto.

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 projeto sempre que realizar o desenvolvimento no GitHub Codespaces ou manter um codespace de longo prazo para um recurso. 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 Enterprise Cloud. Para saber mais, confira "Como criar um codespace para um repositório" e "Como criar um codespace com base em um modelo".

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ê escolher criar um novo codespace, sempre que você trabalhar em um projeto, você 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 obter mais informações, confira "Sobre as predefinições do GitHub Codespaces".

Salvar alterações em um codespace

Ao conectar-se a um código através da web, a gravação automática é habilitada automaticamente para o editor da web e configurada 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 parar 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 codespace for excluído, o trabalho também será. Para manter seu trabalho, faça commit das alterações e as envie por push ao repositório remoto ou publique-o em um novo repositório remoto, caso o codespace tenha sido criado com base em um modelo. Para obter mais informações, confira "Como usar o controle do código-fonte no seu codespace".

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 irá expirar após um determinado tempo de inatividade e irá parar de executar. Por padrão, um código irá 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 "Como definir o período de tempo limite para o GitHub Codespaces". 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 um codespace para implementar alterações na configuração do contêiner de desenvolvimento. Para a maioria dos usos, você pode criar um novo codespace como uma alternativa à reconstrução de um codespace. 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.

Para obter mais informações, confira "Introdução aos contêineres de desenvolvimento" e "Executar uma recompilação completa de um contêiner".

Interrompendo um codespace

Você pode interromper um codespace a qualquer momento. Ao interromper um codespace, todos os processos em execução são interrompidos e o histórico de terminais é limpo. Qualquer alteração salva no seu codespace ainda estará disponível na próxima vez que você iniciá-lo. Se você não interromper explicitamente um codespace, ele continuará sendo executado até que o tempo seja esgotado em razão de inatividade. Para obter mais informações, confira "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 saber mais, confira "Parar e iniciar um codespace".

Excluir um codespace

Você pode criar um codespace para uma tarefa específica e, em seguida, excluir com segurança o codespace depois que você fizer push das alterações em um branch remoto.

Se você tentar excluir um codespace com commits git que não foram enviados por push, o seu editor irá 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 continuar excluindo o seu codespace e todas as alterações que não foram enviadas por commit. Você também pode exportar seu codespace para um novo branch sem criar um novo codespace. Para obter mais informações, confira "Como exportar alterações para um branch".

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 obter mais informações, confira "Como configurar a exclusão automática de codespaces".

Se você criar um codespace, ele continuará acumulando encargos de armazenamento até ser excluído, independentemente de estar ativo ou ter sido interrompido. Para obter mais informações, confira "Sobre a cobrança do GitHub Codespaces". 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 obter mais informações, confira "Como exibir o uso do GitHub Codespaces".

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

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, você deverá se fazer envio por commit e push das suas alterações com frequência.

Se você geralmente trabalha offline, é possível usar o arquivo devcontainer.json com a extensão "Contêineres de desenvolvimento" para o VS Code a fim de compilar e anexar arquivos 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.