Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
GitHub Usługa Codespaces oferuje hostowane w chmurze środowisko programistyczne oparte na systemie Visual Studio Code. Dostęp do niego można uzyskać bezpośrednio z przeglądarki internetowej lub lokalnie Visual Studio Code , gdzie Visual Studio Code działa jako klient łączący się z zapleczem hostowanym w chmurze. W Aspire wersji 9.1 logika zapewnia lepszą obsługę GitHub usług Codespaces, w tym:
- Automatycznie skonfiguruj przekazywanie portów przy użyciu poprawnego protokołu.
- Automatyczne tłumaczenie adresów URL na pulpicie nawigacyjnym Aspire .
Przed Aspire 9.1 nadal można było używać Aspire w usłudze GitHub Codespace, jednak wymagana była bardziej ręczna konfiguracja.
GitHub Codespaces a Dev Containers
GitHub Usługa Codespaces bazuje na Visual Studio Codespecyfikacji Dev Containers. Oprócz obsługi GitHub usługi Codespaces wersja Aspire 9.1 zwiększa obsługę korzystania z Visual Studio Code kontenerów deweloperskich i hostowanych lokalnie. Chociaż środowiska są podobne, istnieją pewne różnice. Aby uzyskać więcej informacji, zobacz Aspire i Visual Studio Code Dev Containers.
Szybki start przy użyciu repozytorium szablonów
Aby skonfigurować GitHub usługi Codespaces dla Aspireprogramu , użyj pliku .devcontainer/devcontainer.json w repozytorium. Najprostszym sposobem rozpoczęcia pracy jest utworzenie nowego repozytorium na bazie naszego repozytorium szablonu. Rozważ następujące kroki:
Utwórz nowe repozytorium przy użyciu naszego szablonu.
Po podaniu szczegółów i wybraniu polecenia Utwórz repozytorium, repozytorium zostanie utworzone i wyświetlone w GitHub.
W nowym repozytorium wybierz przycisk Code (Kod), a następnie wybierz kartę Codespaces (Przestrzenie kodu), a następnie wybierz pozycję Create codespace on main (Utwórz przestrzeń kodu na stronie głównej).
Po wybraniu pozycji Utwórz przestrzeń codespace na stronie głównej przejdź do internetowej wersji programu Visual Studio Code. Przed użyciem środowiska Codespace należy przygotować konteneryzowane środowisko programistyczne. Ten proces odbywa się automatycznie na serwerze i możesz przejrzeć postęp, wybierając link Kompilowanie przestrzeni kodu w powiadomieniu w prawym dolnym rogu okna przeglądarki.
Po zakończeniu tworzenia obrazu kontenera zostanie wyświetlony monit terminalu , który sygnalizuje, że środowisko jest gotowe do interakcji.
Na tym etapie Aspire szablony zostały zainstalowane, a ASP.NET Core certyfikat dewelopera został dodany i zaakceptowany.
Utwórz nowy Aspire projekt przy użyciu szablonu startowego.
dotnet new aspire-starter --name HelloAspirePowoduje to utworzenie wielu plików i folderów w repozytorium, które są widoczne w panelu Eksploratora po lewej stronie okna.
Uruchom aplikację AppHost z pliku HelloAspire.AppHost/AppHost.cs, wybierając przycisk Uruchom projekt w prawym górnym rogu paska kart.
Po kilku chwilach zostanie wyświetlony panel Konsola debugowania i zawiera link do pulpitu Aspire nawigacyjnego uwidocznionego w GitHub punkcie końcowym usługi Codespaces za pomocą tokenu uwierzytelniania.
Otwórz pulpit nawigacyjny, wybierając adres URL pulpitu Aspire nawigacyjnego w konsoli debugowania. Spowoduje to otwarcie pulpitu nawigacyjnego Aspire na osobnej karcie w przeglądarce.
Na pulpicie nawigacyjnym widać, że wszystkie punkty końcowe HTTP/HTTPS zdefiniowane w zasobach miały ich typowy
localhostadres przetłumaczony na unikatową w pełni kwalifikowaną poddomenę w domenieapp.github.dev.Ruch do każdego z tych punktów końcowych jest automatycznie przekazywany do bazowego procesu lub kontenera uruchomionego w ramach usługi Codespace. Obejmuje to narzędzia czasu programowania, takie jak PgAdmin i Redis Insight.
Uwaga / Notatka
Oprócz tokenu uwierzytelniania osadzonego w adresie URL linku pulpitu nawigacyjnego konsoli debugowania punkty końcowe wymagają również uwierzytelniania za pośrednictwem GitHub tożsamości, aby uniknąć udostępniania portów przekazywanych punktów końcowych wszystkim osobom. Aby uzyskać więcej informacji na temat przekierowywania portów w GitHub usłudze Codespaces, zobacz Przekazywanie portów w przestrzeni kodu.
Zatwierdź zmiany w GitHub repozytorium.
GitHub Usługa Codespaces nie zatwierdza automatycznie zmian w gałęzi, nad którą pracujesz w programie GitHub. Musisz użyć panelu sterowania źródła , aby przygotować i zatwierdzić zmiany i wypchnąć je z powrotem do repozytorium.
Praca w środowisku GitHub Codespace jest podobna do pracy na Visual Studio Code własnym komputerze. Możesz wyewidencjonować różne gałęzie i wypchnąć zmiany tak jak zwykle. Ponadto można łatwo uruchomić wiele przestrzeni codespace jednocześnie, jeśli chcesz szybko pracować nad inną gałęzią bez zakłócania istniejącej sesji debugowania. Aby uzyskać więcej informacji, zobacz Programowanie w przestrzeni kodu.
Wyczyść przestrzeń kodu.
GitHub Przestrzeń kodu są tymczasowymi środowiskami programistycznymi i chociaż można ich używać przez dłuższy czas, należy je traktować jako jednorazowy zasób, który jest odtwarzany zgodnie z potrzebami (ze wszystkimi dostosowaniami/konfiguracją zawartymi w devcontainer.json i skojarzonych plikach konfiguracji).
Aby usunąć usługę GitHubGitHub Codespace, odwiedź stronę Codespaces. Spowoduje to wyświetlenie listy wszystkich obszarów Codespaces. W tym miejscu można wykonywać operacje zarządzania w każdej usłudze Codespace, w tym ich usuwanie.
GitHub opłaty za korzystanie z usługi Codespaces. Aby uzyskać więcej informacji, zobacz Zarządzanie kosztami GitHub usługi Codespaces w organizacji.
Uwaga / Notatka
Aspire program obsługuje korzystanie z usługi Dev Containers Visual Studio Code niezależnie od GitHub usługi Codespaces. Aby uzyskać więcej informacji na temat używania kontenerów deweloperskich lokalnie, zobacz Aspire i Dev Containers w systemie Visual Studio Code.
Ręczne konfigurowanie devcontainer.json
W poprzednim przewodniku przedstawiono usprawniony proces tworzenia GitHub środowiska Codespace przy użyciu szablonu Aspire devcontainer. Jeśli masz już istniejące repozytorium i chcesz korzystać z funkcji Devcontainer z Aspire, dodaj plik devcontainer.json do folderu .devcontainer w repozytorium:
└───📂 .devcontainer
└─── devcontainer.json
Repozytorium szablonów zawiera kopię pliku devcontainer.json, którego można użyć jako punktu początkowego, który powinien być wystarczający dla elementu Aspire. JSON Poniżej przedstawiono najnowszą wersję pliku .devcontainer/devcontainer.json z szablonu:
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
"name": "Aspire",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/dotnet:dev-10.0-noble",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/powershell:1": {},
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers/features/python:1": {},
"ghcr.io/devcontainers-extra/features/uv:1": {}
},
"hostRequirements": {
"cpus": 8,
"memory": "32gb",
"storage": "64gb"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [5000, 5001],
// "portsAttributes": {
// "5001": {
// "protocol": "https"
// }
// }
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "dotnet restore",
"onCreateCommand": "curl -sSL https://aspire.dev/install.sh | bash",
"postStartCommand": "dotnet dev-certs https --trust",
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csdevkit",
"GitHub.copilot-chat",
"GitHub.copilot"
]
}
}
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
Przyspieszanie tworzenia usługi Codespace
Utworzenie przestrzeni GitHub codespace może zająć trochę czasu podczas przygotowywania bazowego obrazu kontenera. Aby przyspieszyć ten proces, możesz użyć przedbudówek , aby znacznie skrócić czas tworzenia do około 30–60 sekund (dokładny czas może się różnić). Aby uzyskać więcej informacji na GitHub temat prebuilds usługi Codespaces, zobaczGitHub Prebuilds Codespaces.