Usare GitHub Codespaces per compilare ed eseguire il debug
Importante
Questa è la documentazione di Azure Sphere (legacy). Azure Sphere (legacy) viene ritirato il 27 settembre 2027 e gli utenti devono eseguire la migrazione ad Azure Sphere (integrato) entro questo periodo. Usare il selettore di versione posizionato sopra il sommario per visualizzare la documentazione di Azure Sphere (integrata).
Se si ha una sottoscrizione a GitHub Team o GitHub Enterprise Cloud, è possibile usare GitHub Codespaces per configurare il progetto in modo che venga compilato all'interno di un contenitore ospitato da GitHub. Usando la funzionalità remota di Visual Studio Code, è possibile connettere Visual Studio Code sul desktop a Codespace e modificare, compilare, distribuire ed eseguire il debug direttamente da Codespace.
Questo argomento illustra l'uso di GitHub Codespaces per modificare, compilare, distribuire ed eseguire il debug delle app Di Azure Sphere in remoto; Usare i contenitori per la compilazione e il debug con Visual Studio Code descrive l'uso di Visual Studio Code per modificare, compilare, distribuire ed eseguire il debug delle app Azure Sphere in un contenitore in locale.
Per usare Codespaces, il progetto deve essere configurato come repository GitHub e configurato anche per l'uso in un contenitore. In questo argomento verrà creato un nuovo progetto Blink con la configurazione appropriata.
Creare un repository GitHub per il progetto
Creare un repository GitHub vuoto come indicato di seguito:
Nella home page di GitHub selezionare il pulsante Nuovo accanto alla parola Repository.
Assegnare un nome al repository, ad esempio Blink, e selezionare Crea repository.
In Configurazione rapida: se è stato fatto questo tipo di operazione in precedenza, copiare l'URL HTTPS per il repository.
Al prompt dei comandi clonare il nuovo repository nel desktop locale come indicato di seguito:
git clone <repository-url>
Verrà visualizzato un avviso che indica che è stato clonato un repository vuoto.
Creare un nuovo progetto Blink nel clone
Aprire Visual Studio Code e creare un nuovo progetto come indicato di seguito:
- Selezionare Visualizza>riquadro>comandi Azure Sphere: Genera nuovo progetto.
- In Seleziona un modello selezionare Blink.
- Nella finestra di dialogo Seleziona cartella specificare una cartella in cui creare il nuovo progetto. Questo può essere ovunque. Il contenuto di questa cartella verrà copiato nel repository GitHub creato in precedenza.
- Specificare un nome di progetto corrispondente al nome del repository GitHub, ad esempio Blink, e premere INVIO.
- Copiare i file di progetto di Azure Sphere (incluse tutte le sottocartelle, ad esempio vscode e HardwareDefinitions) nel clone locale, eseguire il commit ed eseguire il push delle modifiche. È quindi possibile eliminare la cartella del progetto creata in questa sezione, perché tutto sarà presente nel repository GitHub.
Configurare la cartella .devcontainer
Nella directory di primo livello del repository GitHub creare una cartella denominata .devcontainer. In questa cartella creare un file denominato devcontainer.json con il contenuto seguente:
{
"name": "Azure Sphere Blink",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"],
"build": {
"dockerfile": "Dockerfile",
"target": "dev"
},
// Use 'settings' to set *default* container specific settings.json values on container create.
// You can edit these settings after create using File > Preferences > Settings > Remote.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Use 'appPort' to create a container with published ports. If the port isn't working, be sure
// your server accepts connections from all interfaces (0.0.0.0 or '*'), not just localhost.
// "appPort": [],
// Uncomment the next line to run commands after the container is created.
// "postCreateCommand": "gcc -v",
// Comment out the next line if you want to run as root instead
"remoteUser": "vscode",
// Add the IDs of extensions you want installed when the container is created in the array below.
"extensions": [
"ms-vscode.azure-sphere-tools",
"ms-vscode.azure-sphere-tools-ui"
]
}
Creare quindi un file denominato Dockerfile nella cartella devcontainer con il contenuto seguente:
FROM mcr.microsoft.com/azurespheresdk:latest AS dev
FROM dev AS build
COPY ./ /src/
WORKDIR /out
RUN cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/opt/azurespheresdk/CMakeFiles/AzureSphereToolchain.cmake" \
-DAZURE_SPHERE_TARGET_API_SET="latest-lts" -DCMAKE_BUILD_TYPE="Release" "/src"
ENTRYPOINT [ "ninja" ]
La riga iniziale FROM
specifica l'immagine Docker standard di Azure Sphere come contenitore di sviluppo di base e la seconda indica di usare tale contenitore di base come ambiente di compilazione. La COPY
riga copia il contenuto del repository nella directory /src/ del contenitore. Specifica WORKDIR
la directory di compilazione. Il RUN
comando fornisce il comando CMake per generare i file di compilazione. Infine, ENTRYPOINT
specifica che ninja deve essere richiamato per compilare effettivamente l'applicazione.
Eseguire il commit delle modifiche nel progetto GitHub ed eseguire il push delle modifiche.
Installare l'estensione GitHub Codespaces
Per installare l'estensione GitHub Codespaces:
- Aprire la cartella del repository GitHub in Visual Studio Code, se non è già.
- Aprire estensioni dalla barra delle attività di Visual Studio Code.
- Cercare "GitHub Codespaces" e installare l'estensione GitHub Codespaces.
Creare uno spazio di codice
Selezionare Visualizza>spazi di codice del riquadro>comandi: Crea nuovo spazio di codice.
Nell'elenco a discesa dei repository selezionare Blink. Se il repository non viene visualizzato nell'elenco a discesa, è possibile digitarne il nome nella casella di testo sopra l'elenco.
Nell'elenco a discesa dei rami selezionare quello appropriato.
La barra del titolo in Visual Studio Code cambia per indicare che si sta modificando in Codespaces. Se si apre la scheda Estensioni nella barra di spostamento a sinistra, vengono visualizzate entrambe le estensioni installate in locale e quelle installate nel contenitore remoto.
Compilare ed eseguire il debug del progetto
Premere F5 o selezionare Esegui>avvia debug per compilare il progetto e iniziare il debug. L'applicazione compila e trasferisce localmente il dispositivo come di consueto. Se nel codice è stato impostato un punto di interruzione, l'app viene eseguita fino al raggiungimento del punto di interruzione. È possibile usare i soliti comandi di debug per esaminare il codice. Per altri dettagli, vedere l'argomento Debug nella documentazione di Visual Studio Code.
Al termine del debug, premere MAIUSC+F5 o l'icona Arresta . Per chiudere lo spazio di codice, selezionare Visualizza>spazi di codice del riquadro>comandi: Arresta spazio di codice corrente.