Uso de GitHub Codespaces para compilar y depurar
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Si tiene una suscripción a GitHub Team o GitHub Enterprise Cloud, puede usar GitHub Codespaces para configurar el proyecto para que se compile dentro de un contenedor hospedado por GitHub. Con la característica Remota de Visual Studio Code, puede conectar Visual Studio Code en el escritorio a Codespace y editar, compilar, implementar y depurar directamente desde Codespace.
En este tema se describe el uso de GitHub Codespaces para editar, compilar, implementar y depurar las aplicaciones de Azure Sphere de forma remota; El uso de contenedores para compilar y depurar con Visual Studio Code describe el uso de Visual Studio Code para editar, compilar, implementar y depurar las aplicaciones de Azure Sphere en un contenedor localmente.
Para usar Codespaces, el proyecto debe configurarse como un repositorio de GitHub y también configurarse para su uso en un contenedor. En este tema, creará un nuevo proyecto blink con la configuración adecuada.
Creación de un repositorio de GitHub para el proyecto
Cree un repositorio de GitHub vacío de la manera siguiente:
En la página principal de GitHub, seleccione el botón Nuevo situado junto a la palabra Repositorios.
Asigne un nombre al repositorio, como Blink, y seleccione Crear repositorio.
En Configuración rápida: si ha hecho este tipo de cosas antes, copie la dirección URL HTTPS del repositorio.
En un símbolo del sistema, clone el nuevo repositorio en el escritorio local de la siguiente manera:
git clone <repository-url>
Debería ver una advertencia de que ha clonado un repositorio vacío.
Creación de un nuevo proyecto de Blink en el clon
Abra Visual Studio Code y cree un proyecto como sigue:
- Seleccione Ver>paleta>de comandos de Azure Sphere: Generar nuevo proyecto.
- En Seleccionar una plantilla, seleccione Blink.
- En el cuadro de diálogo Seleccionar carpeta, especifique una carpeta en la que se va a crear el nuevo proyecto. (Esto puede ser en cualquier lugar: copiará el contenido de esta carpeta en el repositorio de GitHub creado anteriormente).
- Especifique un nombre de proyecto que coincida con el nombre del repositorio de GitHub, como Blink, y presione Entrar.
- Copie los archivos de proyecto de Azure Sphere (incluidas todas las subcarpetas como .vscode y HardwareDefinitions) en el clon local, confirme e inserte los cambios. A continuación, puede eliminar la carpeta del proyecto creada en esta sección, ya que todo estará en el repositorio de GitHub.
Configuración de la carpeta .devcontainer
En el directorio de nivel superior del repositorio de GitHub, cree una carpeta denominada .devcontainer. En esta carpeta, cree un archivo denominado devcontainer.json con el siguiente contenido:
{
"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"
]
}
A continuación, cree un archivo denominado Dockerfile en la carpeta .devcontainer con el siguiente contenido:
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 línea inicial FROM
especifica la imagen estándar de Docker de Azure Sphere como contenedor de desarrollo base y la segunda indica que usa ese contenedor base como entorno de compilación. La COPY
línea copia el contenido del repositorio en el directorio /src/ del contenedor. WORKDIR
especifica el directorio de compilación. El RUN
comando proporciona el comando CMake para generar los archivos de compilación. Por último, especifica ENTRYPOINT
que se debe invocar ninja para compilar realmente la aplicación.
Confirme los cambios en el proyecto de GitHub e inserte los cambios.
Instalación de la extensión de GitHub Codespaces
Para instalar la extensión GitHub Codespaces:
- Abra la carpeta del repositorio de GitHub en Visual Studio Code, si aún no lo está.
- Abra Extensiones desde la barra de actividad de Visual Studio Code.
- Busque "GitHub Codespaces" e instale la extensión GitHub Codespaces.
Creación de un codespace
Seleccione Ver>espacios de código de paleta>de comandos: Crear nuevo espacio de código.
En la lista desplegable de repositorios, seleccione Blink. Si el repositorio no aparece en la lista desplegable, puede escribir su nombre en el cuadro de texto situado encima de la lista.
En la lista desplegable de ramas, seleccione la adecuada.
La barra de título de Visual Studio Code cambia para mostrar que está editando en Codespaces. Si abre la pestaña Extensiones en la barra de navegación izquierda, verá las extensiones instaladas localmente y las instaladas en el contenedor remoto.
Compilación y depuración del proyecto
Presione F5 o seleccione Ejecutar>iniciar depuración para compilar el proyecto y comenzar la depuración. La aplicación se compila y se carga localmente en el dispositivo como de costumbre. Si ha establecido un punto de interrupción en el código, la aplicación se ejecuta hasta que se alcanza el punto de interrupción. Puede usar los comandos de depuración habituales para recorrer el código. Consulte el tema Depuración en la documentación de Visual Studio Code para obtener más detalles.
Cuando haya terminado de depurar, presione Mayús+F5 o el icono Detener . Para cerrar el espacio de código, seleccione Ver>espacios de código de paleta>de comandos: Detener el espacio de código actual.