Cykl życia usługi Codespace
Usługa GitHub Codespaces jest konfigurowalna, co umożliwia utworzenie dostosowanego środowiska projektowego. Konfigurując niestandardowe środowisko programistyczne dla projektu, można mieć powtarzalną konfigurację usługi Codespace dla wszystkich użytkowników projektu.
Cykl życia usługi Codespace rozpoczyna się po utworzeniu przestrzeni codespace i kończy się po jego usunięciu. Możesz rozłączyć i ponownie nawiązać połączenie z aktywnym obszarem Codespace bez wpływu na jego uruchomione procesy. Możesz zatrzymać i ponownie uruchomić aplikację Codespace bez utraty zmian w projekcie.
Tworzenie przestrzeni kodu
Możesz utworzyć przestrzeń Codespace na GitHub.com, w programie Visual Studio Code lub za pomocą interfejsu wiersza polecenia usługi GitHub. Istnieją cztery sposoby tworzenia przestrzeni kodu:
- Z szablonu usługi GitHub lub dowolnego repozytorium szablonów w GitHub.com, aby rozpocząć nowy projekt.
- Z gałęzi w repozytorium, aby pracować nad nową funkcją.
- Z otwartego żądania ściągnięcia, aby zapoznać się z pracą w toku.
- Z zatwierdzenia w historii repozytorium, aby zbadać usterkę w określonym punkcie w czasie.
Możesz tymczasowo użyć środowiska Codespace, aby przetestować kod lub wrócić do tej samej przestrzeni codespace, aby pracować nad długotrwałą funkcją.
Można utworzyć więcej niż jedną przestrzeń codespace na repozytorium, a nawet na gałąź. Istnieją jednak ograniczenia liczby przestrzeni kodu, które można utworzyć i uruchomić w tym samym czasie. Gdy osiągniesz maksymalną liczbę przestrzeni kodu i spróbujesz utworzyć inny element, zostanie wyświetlony komunikat. Komunikat informuje o konieczności usunięcia/usunięcia istniejącej przestrzeni codespace przed utworzeniem nowego obszaru Codespace.
Możesz utworzyć nową przestrzeń Codespace za każdym razem, gdy programujesz w usłudze GitHub Codespaces lub zachowasz długotrwałą przestrzeń Codespace dla funkcji. Jeśli rozpoczynasz nowy projekt, utwórz aplikację Codespace na podstawie szablonu i opublikuj ją w repozytorium w usłudze GitHub później.
Podczas tworzenia nowego środowiska Codespace za każdym razem, gdy pracujesz nad projektem, należy regularnie wypychać zmiany, aby upewnić się, że wszystkie nowe zatwierdzenia znajdują się w usłudze GitHub. W przypadku korzystania z długotrwałego środowiska Codespace dla nowego projektu ściągaj z domyślnej gałęzi repozytorium za każdym razem, gdy zaczniesz pracować w usłudze Codespace, aby umożliwić środowisku pobieranie najnowszych zatwierdzeń. Przepływ pracy jest podobny do pracy z projektem na komputerze lokalnym.
Administratorzy repozytorium mogą włączyć prebuilds usługi GitHub Codespaces dla repozytorium, aby przyspieszyć tworzenie środowiska Codespace.
Aby zapoznać się ze szczegółowym przewodnikiem i szczegółowymi wskazówkami krok po kroku, zobacz zasoby zatytułowane Przewodnik dla początkujących, aby nauczyć się kodować za pomocą usługi GitHub Codespaces i programować w środowisku Codespace znajdującym się w lekcji Podsumowanie na końcu tego modułu.
Proces tworzenia przestrzeni kodu
Podczas tworzenia usługi GitHub Codespace występują cztery procesy:
- Maszyna wirtualna i magazyn są przypisane do usługi Codespace.
- Zostanie utworzony kontener.
- Nawiązano połączenie z usługą Codespace.
- Zostanie wykonana konfiguracja po utworzeniu.
Zapisywanie zmian w usłudze Codespace
Po nawiązaniu połączenia z usługą Codespace za pośrednictwem sieci Web automatyczne zapisywanie zmian jest automatycznie włączane w celu zapisania zmian po upływie określonego czasu. Po nawiązaniu połączenia z aplikacją Codespace za pomocą programu Visual Studio Code uruchomionego na pulpicie należy włączyć autozapis.
Praca jest zapisywana na maszynie wirtualnej w chmurze. Możesz zamknąć i zatrzymać program Codespace i wrócić do zapisanej pracy w późniejszym czasie. Jeśli masz niezapisane zmiany, zostanie wyświetlony monit o zapisanie ich przed zakończeniem. Jeśli jednak obszar Codespace zostanie usunięty, praca zostanie utracona. Aby zapisać pracę, musisz zatwierdzić zmiany i wypchnąć je do repozytorium zdalnego lub opublikować pracę w nowym, jeśli utworzono środowisko Codespace z szablonu.
Otwieranie istniejącej przestrzeni kodu
Możesz ponownie otworzyć dowolne aktywne lub zatrzymane usługi Codespaces na GitHub.com w środowisku IDE JetBrains w programie Visual Studio Code lub za pomocą interfejsu wiersza polecenia usługi GitHub.
Aby wznowić istniejącą przestrzeń kodu, możesz przejść do repozytorium, w którym znajduje się przestrzeń kodu, wybrać , klucz, a następnie ją wznowić, wybierając opcję Wznów tę przestrzeń kodu. Możesz też otworzyć https://github.com/codespaces w przeglądarce, wybrać repozytorium, a następnie wybrać istniejącą przestrzeń kodu.
Limity czasu dla przestrzeni kodu
Jeśli usługa Codespace jest nieaktywna lub jeśli zakończysz działanie usługi Codespace bez jawnego zatrzymywania, aplikacja zostanie upłynął po upływie okresu braku aktywności i przestanie działać. Domyślny limit czasu wynosi po 30 minutach braku aktywności. Gdy przekroczono limit czasu usługi Codespace, dane są przechowywane od czasu ostatniego zapisania zmian.
Połączenie internetowe podczas korzystania z usługi GitHub Codespaces
Usługa Codespace wymaga połączenia internetowego. Jeśli połączenie z Internetem zostanie utracone podczas pracy w usłudze Codespace, nie możesz uzyskać dostępu do usługi Codespace. Jednak wszelkie niezatwierdzone zmiany są zapisywane. Po ponownym utworzeniu połączenia internetowego można uzyskać dostęp do aplikacji Codespace w tym samym stanie, w którym została pozostawiona w momencie utraty połączenia.
Jeśli masz niestabilne połączenie internetowe, często należy zatwierdzać i wypychać zmiany.
Zamykanie lub zatrzymywanie środowiska Codespace
Jeśli wyjedziesz z usługi Codespace bez uruchomienia polecenia stop lub nie uruchomisz polecenia Codespace bez interakcji, środowisko Codespace i jego uruchomione procesy będą kontynuowane w okresie przekroczenia limitu czasu braku aktywności. Domyślny limit czasu braku aktywności wynosi 30 minut. Możesz zdefiniować ustawienie limitu czasu osobistego dla utworzonych obszarów Codespaces, ale zasady limitu czasu organizacji mogą unieważnić ustawienie.
Opłaty za procesor CPU są naliczane tylko przez program Codespaces. Zatrzymana usługa Codespace wiąże się tylko z kosztami magazynowania.
Możesz zatrzymać i ponownie uruchomić aplikację Codespace, aby zastosować zmiany. Jeśli na przykład zmienisz typ maszyny używany dla usługi Codespace, musisz zatrzymać i ponownie uruchomić go, aby zmiana weszła w życie. Po zamknięciu lub zatrzymaniu usługi Codespace wszystkie niezatwierdzone zmiany zostaną zachowane do momentu ponownego nawiązania połączenia z usługą Codespace.
Możesz również zatrzymać program Codespace i wybrać ponowne uruchomienie lub usunięcie go, jeśli wystąpi błąd lub coś nieoczekiwanego.
Ponowne kompilowanie przestrzeni kodu
Możesz ponownie skompilować aplikację Codespace, aby zaimplementować zmiany w konfiguracji kontenera deweloperskiego. W przypadku większości zastosowań można utworzyć nową przestrzeń Codespace jako alternatywę dla odbudowy środowiska Codespace. Podczas ponownego kompilowania środowiska Codespace obrazy z pamięci podręcznej przyspieszają proces ponownego kompilowania. Można również wykonać pełną ponowną kompilację, aby wyczyścić pamięć podręczną i ponownie skompilować kontener przy użyciu świeżych obrazów.
Po odbudowaniu kontenera w usłudze Codespace zmiany wprowadzone poza katalogiem /workspaces zostaną wyczyszczone. Zmiany wprowadzone w /workspaces katalogu, w tym klon repozytorium lub szablon utworzonego przez Ciebie środowiska Codespace, są zachowywane po odbudowie.
Usuwanie przestrzeni kodu
Możesz utworzyć przestrzeń codespace dla określonego zadania. Po wypchnięciu zmian do gałęzi zdalnej można bezpiecznie usunąć ten program Codespace.
Jeśli spróbujesz usunąć usługę Codespace z niezauszanymi zatwierdzeniami git, edytor powiadomi Cię o zmianach, które nie zostały jeszcze wypchnięte do gałęzi zdalnej. Możesz wypchnąć wszelkie żądane zmiany, a następnie usunąć swoją przestrzeń kodu. Możesz również nadal usuwać środowisko Codespace i wszelkie niezatwierdzone zmiany lub eksportować kod do nowej gałęzi bez tworzenia nowej przestrzeni kodu.
Zatrzymane przestrzenie codespace, które pozostają nieaktywne przez określony czas, są usuwane automatycznie. Nieaktywne przestrzenie kodu są usuwane po upływie 30 dni, ale możesz dostosować interwały przechowywania usługi Codespace.