Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
GitHub Codespaces offre un ambiente di sviluppo ospitato nel cloud basato su Visual Studio Code. È possibile accedervi direttamente da un Web browser o tramite Visual Studio Code locale, dove Visual Studio Code funge da client che si connette a un back-end ospitato nel cloud. Con Aspire la versione 9.1, viene fornita la logica per supportare GitHub meglio Codespaces, tra cui:
- Configurare automaticamente il port forwarding con il protocollo corretto.
- Converte automaticamente gli URL nel Aspire dashboard.
Prima Aspire della 9.1 era ancora possibile usare Aspire all'interno di codespace GitHub , ma era necessaria una configurazione più manuale.
GitHub Codespaces e Dev Containers
GitHub Codespaces si basa su Visual Studio Code e sulla specifica Dev Containers. Oltre a supportare GitHub Codespaces, Aspire la versione 9.1 migliora il supporto per l'uso Visual Studio Code e i contenitori di sviluppo ospitati localmente. Anche se le esperienze sono simili, esistono alcune differenze. Per altre informazioni, vedere Aspire e Visual Studio Code Contenitori di sviluppo.
Guida introduttiva all'uso del repository di modelli
Per configurare GitHub Codespaces per Aspire, usare il file .devcontainer/devcontainer.json nel repository. Il modo più semplice per iniziare consiste nel creare un nuovo repository dal repository dei modelli. Tenere in considerazione i passaggi seguenti:
Creare un nuovo repository usando il modello.
Dopo aver specificato i dettagli e aver selezionato Crea repository, il repository viene creato e visualizzato in GitHub.
Nel nuovo repository selezionare il pulsante Code (Codice) e selezionare la scheda Codespaces (Spazi di codice) e quindi selezionare Create codespace on main (Crea spazio di codice nel database principale).
Dopo aver selezionato Crea spazio di codice in main, passare a una versione basata sul Web di Visual Studio Code. Prima di usare Codespace, è necessario preparare l'ambiente di sviluppo in contenitori. Questo processo viene eseguito automaticamente nel server ed è possibile esaminare lo stato di avanzamento selezionando il collegamento Building codespace (Spazio di codice predefinito) nella notifica nella parte inferiore destra della finestra del browser.
Al termine della compilazione dell'immagine del contenitore, viene visualizzato il prompt del terminale che segnala che l'ambiente è pronto per l'interazione.
A questo punto, i Aspire modelli sono stati installati e il ASP.NET Core certificato per sviluppatore è stato aggiunto e accettato.
Creare un nuovo Aspire progetto usando il modello iniziale.
dotnet new aspire-starter --name HelloAspireCiò comporta la creazione di molti file e cartelle nel repository, visibili nel pannello Explorer sul lato sinistro della finestra.
Avviare AppHost tramite il file HelloAspire.AppHost/AppHost.cs selezionando il pulsante Esegui progetto nell'angolo superiore destro della barra Tab.
Dopo alcuni istanti viene visualizzato il pannello Console di debug e include un collegamento al Aspire dashboard esposto in un GitHub endpoint Codespaces con il token di autenticazione.
Aprire il Aspire dashboard selezionando l'URL del dashboard nella console di debug. Questo aprirà il Aspire dashboard in una scheda separata nel tuo browser.
Si noti che nel dashboard tutti gli endpoint HTTP/HTTPS definiti nelle risorse hanno il loro indirizzo tipico
localhostconvertito in un sottodominio completo univoco nelapp.github.devdominio.Il traffico verso ognuno di questi endpoint viene inoltrato automaticamente al processo o al contenitore sottostante in esecuzione all'interno di Codespace. Sono inclusi strumenti per il tempo di sviluppo, ad esempio PgAdmin e Redis Insight.
Annotazioni
Oltre al token di autenticazione incorporato all'interno dell'URL del collegamento del dashboard della console di debug, gli endpoint richiedono anche l'autenticazione tramite GitHub l'identità per evitare che gli endpoint port forward siano accessibili a tutti. Per altre informazioni sul port forwarding in GitHub Codespaces, vedere Porte di inoltro nello spazio di codice.
Eseguire il commit delle modifiche nel GitHub repository.
GitHub Codespaces non esegue automaticamente il commit delle modifiche nel ramo su cui si sta lavorando in GitHub. È necessario usare il pannello Controllo del codice sorgente per eseguire il commit delle modifiche ed eseguirne il push nel repository.
Lavorare in uno GitHub spazio di codice è simile all'uso nel Visual Studio Code proprio computer. È possibile eseguire il checkout di rami diversi e eseguire il push delle modifiche esattamente come si farebbe normalmente. Inoltre, è possibile attivare più spazi di codice contemporaneamente contemporaneamente se si vuole lavorare rapidamente in un altro ramo senza interrompere la sessione di debug esistente. Per altre informazioni, vedere Sviluppo in uno spazio di codice.
Pulire codespace.
GitHub Gli spazi di codice sono ambienti di sviluppo temporanei e, mentre è possibile usarne uno per un lungo periodo di tempo, devono essere considerati una risorsa eliminabile ricreata in base alle esigenze (con tutte le personalizzazioni/installazione contenute all'interno del devcontainer.json e i file di configurazione associati).
Per eliminare codespace GitHub , visitare la GitHub pagina Codespaces. Viene visualizzato un elenco di tutti gli spazi di codice. Da qui è possibile eseguire operazioni di gestione in ogni codespace, inclusa l'eliminazione.
GitHub addebiti per l'uso di Codespaces. Per altre informazioni, vedere Gestione del costo di GitHub Codespaces nell'organizzazione.
Annotazioni
Aspire supporta l'uso di contenitori di sviluppo in Visual Studio Code modo indipendente da GitHub Codespaces. Per altre informazioni su come usare i contenitori di sviluppo in locale, vedere Aspire e Dev Containers in Visual Studio Code.
Configurazione manuale di devcontainer.json
La procedura dettagliata precedente illustra il processo semplificato di creazione di un GitHub codespace usando il Aspire modello Devcontainer. Se si dispone già di un repository esistente e si vuole usare la funzionalità Devcontainer con Aspire, aggiungere un filedevcontainer.json alla cartella devcontainer all'interno del repository:
└───📂 .devcontainer
└─── devcontainer.json
Il repository di modelli contiene una copia del file devcontainer.json che è possibile usare come punto di partenza, che deve essere sufficiente per Aspire. Di seguito JSON è riportata la versione più recente del file .devcontainer/devcontainer.json dal modello:
// 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": {}
},
"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"
}
Velocizzare la creazione di Codespace
La creazione di un GitHub oggetto Codespace può richiedere del tempo durante la preparazione dell'immagine del contenitore sottostante. Per accelerare questo processo, è possibile utilizzare precompilazione per ridurre significativamente il tempo di creazione a circa 30-60 secondi (la tempistica esatta può variare). Per altre informazioni sui GitHub precompilazione di Codespaces, vedere GitHub Prebuilds codespaces.