De levenscyclus van Codespace

Voltooid

GitHub Codespaces kan worden geconfigureerd, zodat u een aangepaste ontwikkelomgeving voor uw project kunt maken. Door een aangepaste ontwikkelomgeving voor uw project te configureren, kunt u een herhaalbare Codespace-configuratie hebben voor alle gebruikers van uw project.

De levenscyclus van een Codespace begint wanneer u een Codespace maakt en eindigt wanneer u deze verwijdert. U kunt de verbinding verbreken en opnieuw verbinding maken met een actieve Codespace zonder dat dit van invloed is op de actieve processen. U kunt een Codespace stoppen en opnieuw starten zonder de wijzigingen die u aanbrengt in uw project te verliezen.

Diagram van een kringlevenscyclus van een Codespace die begint met het maken en eindigt met verwijderen.

Een Codespace maken

U kunt een Codespace maken op GitHub.com, in Visual Studio Code of door GitHub CLI. Er zijn vier manieren om een Codespace te maken:

  • Vanuit een GitHub-sjabloon of een sjabloonopslagplaats op GitHub.com om een nieuw project te starten.
  • Vanuit een vertakking in uw opslagplaats werkt het voor nieuwe functies.
  • Vanuit een open pull-aanvraag om werk in uitvoering te verkennen.
  • Vanuit een doorvoering in de geschiedenis van een opslagplaats om een bug op een bepaald moment te onderzoeken.

U kunt tijdelijk een Codespace gebruiken om code te testen of u kunt terugkeren naar dezelfde Codespace om te werken aan langlopend functiewerk.

U kunt meer dan één Codespace per opslagplaats of zelfs per vertakking maken. Er gelden echter limieten voor het aantal Codespaces dat u tegelijkertijd kunt maken en uitvoeren. Wanneer u het maximum aantal Codespaces bereikt en een andere coderuimte probeert te maken, wordt er een bericht weergegeven. Het bericht geeft aan dat een bestaande Codespace moet worden verwijderd/verwijderd voordat een nieuwe Codespace kan worden gemaakt.

U kunt elke keer dat u in GitHub Codespaces ontwikkelt een nieuwe Codespace maken of een langlopende Codespace voor een functie behouden. Als u een nieuw project start, maakt u een Codespace op basis van een sjabloon en publiceert u het later naar een opslagplaats op GitHub.

Wanneer u telkens wanneer u aan een project werkt een nieuwe Codespace maakt, moet u uw wijzigingen regelmatig pushen om ervoor te zorgen dat nieuwe doorvoeringen zich op GitHub bevinden. Wanneer u een langlopende Codespace voor een nieuw project gebruikt, haalt u elke keer dat u in Codespace aan de slag gaat vanuit de standaardvertakking van de opslagplaats, zodat uw omgeving de meest recente doorvoeringen kan ophalen. De werkstroom is vergelijkbaar met het werken met een project op een lokale computer.

Beheerders van opslagplaatsen kunnen GitHub Codespaces-prebuilds inschakelen voor een opslagplaats om het maken van Codespace te versnellen.

Zie de resources met de titel A beginner's guide to learning to code with GitHub Codespaces and Developing in a Codespaces and Developing in a Codespace in the Summary unit aan het einde van deze module voor een uitgebreid overzicht en stapsgewijze instructies.

Proces voor het maken van Codespace

Diagram van een GitHub-coderuimte en hoe deze verbinding maakt vanuit uw code-editor en in een Docker-container.

Wanneer u een GitHub Codespace maakt, vinden er vier processen plaats:

  1. Er worden een virtuele machine en opslag toegewezen aan uw Codespace.
  2. Er wordt een container gemaakt.
  3. Er wordt een verbinding met de Codespace gemaakt.
  4. Er wordt een installatie na het maken gemaakt.

Wijzigingen opslaan in een Codespace

Wanneer u via internet verbinding maakt met een Codespace, wordt Automatisch opslaan automatisch ingeschakeld om wijzigingen op te slaan nadat een bepaalde tijd is verstreken. Wanneer u verbinding maakt met een Codespace via Visual Studio Code die wordt uitgevoerd op uw bureaublad, moet u Automatisch opslaan inschakelen.

Uw werk wordt opgeslagen op een virtuele machine in de cloud. U kunt een Codespace sluiten en stoppen en op een later tijdstip terugkeren naar het opgeslagen werk. Als u niet-opgeslagen wijzigingen hebt, ontvangt u een prompt om deze op te slaan voordat u deze afsluit. Als uw Codespace echter wordt verwijderd, gaat uw werk verloren. Als u uw werk wilt opslaan, moet u uw wijzigingen doorvoeren en naar uw externe opslagplaats pushen of uw werk publiceren naar een nieuwe als u uw Codespace hebt gemaakt op basis van een sjabloon.

Een bestaande Codespace openen

U kunt alle actieve of gestopte Codespaces opnieuw openen op GitHub.com, in een JetBrains IDE, in Visual Studio Code of met behulp van GitHub CLI.

Als u een bestaande Codespace wilt hervatten, gaat u naar de opslagplaats waar de Codespace bestaat, selecteert u de , sleutel en selecteert u deze coderuimte hervatten. U kunt ook openen https://github.com/codespaces in de browser, de opslagplaats selecteren en vervolgens de bestaande Codespace selecteren.

Time-outs voor een Codespace

Als een Codespace inactief is of als u uw Codespace afsluit zonder expliciet te stoppen, treedt er een time-out op voor de toepassing na een periode van inactiviteit en stopt de uitvoering. De standaardtime-out is na 30 minuten inactiviteit. Wanneer er een time-out optreedt voor een Codespace, worden uw gegevens bewaard vanaf de laatste keer dat uw wijzigingen zijn opgeslagen.

Internetverbinding tijdens het gebruik van GitHub Codespaces

Voor een Codespace is een internetverbinding vereist. Als de verbinding met internet is verbroken tijdens het werken in een Codespace, hebt u geen toegang tot uw Codespace. Niet-doorgevoerde wijzigingen worden echter opgeslagen. Wanneer u de internetverbinding opnieuw tot stand hebt gebracht, hebt u toegang tot de Codespace in dezelfde toestand als waarin de verbinding is verbroken.

Als u een instabiele internetverbinding hebt, moet u uw wijzigingen regelmatig doorvoeren en pushen.

Een Codespace sluiten of stoppen

Als u de Codespace afsluit zonder de stopopdracht uit te voeren of de Codespace zonder interactie uit te voeren, worden de Codespace en de actieve processen voortgezet tijdens de time-outperiode voor inactiviteit. De standaardtime-outperiode voor inactiviteit is 30 minuten. U kunt uw persoonlijke time-outinstelling definiëren voor de Codespaces die u maakt, maar het time-outbeleid van een organisatie kan de instelling overschrijven.

Alleen voor het uitvoeren van Codespaces worden CPU-kosten in rekening gebracht. Voor een gestopte Codespace worden alleen opslagkosten in rekening gebracht.

U kunt een Codespace stoppen en opnieuw starten om wijzigingen toe te passen. Als u bijvoorbeeld het computertype wijzigt dat wordt gebruikt voor uw Codespace, moet u deze stoppen en opnieuw starten voordat de wijziging van kracht wordt. Wanneer u uw Codespace sluit of stopt, blijven alle niet-doorgevoerde wijzigingen behouden totdat u opnieuw verbinding maakt met de Codespace.

U kunt Codespace ook stoppen en ervoor kiezen om deze opnieuw op te starten of te verwijderen als er een fout of iets onverwachts optreedt.

Een Codespace opnieuw bouwen

U kunt uw Codespace opnieuw bouwen om wijzigingen in de configuratie van uw dev-container te implementeren. Voor de meeste toepassingen kunt u een nieuwe Codespace maken als alternatief voor het herbouwen van een Codespace. Wanneer u uw Codespace opnieuw bouwt, versnellen afbeeldingen uit de cache het herbouwproces. U kunt ook een volledige herbouwbewerking uitvoeren om de cache te wissen en de container opnieuw te bouwen met nieuwe installatiekopieën.

Wanneer u de container opnieuw bouwt in een Codespace, worden wijzigingen die u buiten de /workspaces map hebt aangebracht, gewist. Wijzigingen die u in de /workspaces map hebt aangebracht, inclusief de kloon van de opslagplaats of sjabloon waaruit u de Codespace hebt gemaakt, blijven behouden tijdens het opnieuw opbouwen.

Een Codespace verwijderen

U kunt een Codespace voor een bepaalde taak maken. Nadat u uw wijzigingen naar een externe vertakking hebt gepusht, kunt u die Codespace veilig verwijderen.

Als u een Codespace met niet-gepushte Git-doorvoeringen probeert te verwijderen, meldt de editor u dat er wijzigingen zijn die nog niet naar een externe vertakking zijn gepusht. U kunt gewenste wijzigingen pushen en vervolgens uw Codespace verwijderen. U kunt ook uw Codespace en eventuele niet-doorgevoerde wijzigingen blijven verwijderen of de code exporteren naar een nieuwe vertakking zonder een nieuwe Codespace te maken.

Gestopte Codespaces die gedurende een opgegeven tijd inactief blijven, worden automatisch verwijderd. Inactieve Codespaces worden na 30 dagen verwijderd, maar u kunt de bewaarintervallen voor Codespace aanpassen.