다음을 통해 공유


GitHub Codespaces를 사용하여 빌드 및 디버그

Important

Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.

GitHub 팀 또는 GitHub Enterprise Cloud 구독이 있는 경우 GitHub Codespaces를 사용하여 GitHub에서 호스트하는 컨테이너 내에서 빌드되도록 프로젝트를 설정할 수 있습니다. Visual Studio Code의 원격 기능을 사용하여 데스크톱의 Visual Studio Code를 Codespace에 연결하고 Codespace에서 직접 편집, 빌드, 배포 및 디버그할 수 있습니다.

이 항목에서는 GitHub Codespaces를 사용하여 Azure Sphere 앱을 원격으로 편집, 빌드, 배포 및 디버그하는 방법을 설명합니다. Visual Studio Code 를 사용하여 빌드 및 디버그에 컨테이너를 사용하여 로컬로 컨테이너에서 Azure Sphere 앱을 편집, 빌드, 배포 및 디버그하는 방법을 설명합니다.

Codespaces를 사용하려면 프로젝트를 GitHub 리포지토리로 구성하고 컨테이너에서 사용하도록 구성해야 합니다. 이 항목에서는 적절한 구성으로 새 Blink 프로젝트를 만듭니다.

프로젝트에 대한 GitHub 리포지토리 만들기

다음과 같이 빈 GitHub 리포지토리를 만듭니다.

  1. github.com 로그인합니다.

  2. GitHub 홈페이지에서 리포지토리라는 단어 옆에 있는 새로 만들기 단추를 선택합니다.

  3. 리포지토리에 Blink와 같은 이름을 지정하고 리포지토리 만들기를 선택합니다.

  4. 빠른 설정에서 - 이전에 이런 종류의 작업을 수행한 경우 리포지토리에 대한 HTTPS URL을 복사합니다.

  5. 명령 프롬프트에서 다음과 같이 새 리포지토리를 로컬 데스크톱에 복제합니다.

    git clone <repository-url>
    

    빈 리포지토리를 복제했다는 경고가 표시됩니다.

Visual Studio Code를 열고 다음과 같이 새 프로젝트를 만듭니다.

  1. 보기>명령 팔레트>Azure Sphere 선택: 새 프로젝트 생성
  2. 템플릿 선택에서 Blink를 선택합니다.
  3. 폴더 선택 대화 상자에서 새 프로젝트를 만들 폴더를 지정합니다. 이 위치는 어디에나 있을 수 있습니다. 이 폴더의 내용을 이전에 만든 GitHub 리포지토리에 복사합니다.
  4. Blink와 같은 GitHub 리포지토리의 이름과 일치하는 프로젝트 이름을 지정하고 Enter 키를 누릅니다.
  5. Azure Sphere 프로젝트 파일(.vscode 및 HardwareDefinitions와 같은 모든 하위 폴더 포함)을 로컬 클론에 복사하고, 커밋하고, 변경 내용을 푸시합니다. 그러면 모든 항목이 GitHub 리포지토리에 있으므로 이 섹션에서 만든 프로젝트 폴더를 삭제할 수 있습니다.

.devcontainer 폴더 설정

GitHub 리포지토리의 최상위 디렉터리에 .devcontainer라는 폴더를 만듭니다. 이 폴더에서 다음 내용이 포함된 devcontainer.json 파일을 만듭니다.

{
    "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"
    ]
}

다음으로, 다음 내용이 포함된 .devcontainer 폴더에 Dockerfile이라는 파일을 만듭니다.

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" ]

초기 FROM 줄은 표준 Azure Sphere Docker 이미지를 기본 개발 컨테이너로 지정하고, 두 번째 줄은 기본 컨테이너를 빌드 환경으로 사용한다고 말합니다. 이 줄은 COPY 리포지토리의 내용을 컨테이너의 /src/디렉터리에 복사합니다. 빌드 WORKDIR 디렉터리를 지정합니다. 이 RUN 명령은 빌드 파일을 생성하는 CMake 명령을 제공합니다. 마지막으로, 애플리케이션을 ENTRYPOINT 실제로 빌드하기 위해 ninja를 호출하도록 지정합니다.

GitHub 프로젝트에 변경 내용을 커밋하고 변경 내용을 푸시합니다.

GitHub Codespaces 확장 설치

GitHub Codespaces 확장을 설치하려면 다음을 수행합니다.

  1. 아직 없는 경우 Visual Studio Code에서 GitHub 리포지토리 폴더를 엽니다.
  2. Visual Studio Code 작업 모음에서 확장을 엽니다.
  3. "GitHub Codespaces"를 검색하고 GitHub Codespaces 확장을 설치합니다.

codespace 만들기

  1. 명령 팔레트>코드스페이스 보기>선택: 새 코드스페이스 만들기

  2. 리포지토리 드롭다운 목록에서 Blink를 선택합니다. 드롭다운 목록에 리포지토리가 표시되지 않으면 목록 위의 텍스트 상자에 해당 이름을 입력할 수 있습니다.

  3. 분기 드롭다운 목록에서 적절한 분기를 선택합니다.

    Visual Studio Code의 제목 표시줄이 변경되어 Codespaces에서 편집 중임을 표시합니다. 왼쪽 탐색 모음에서 확장 탭을 열면 로컬에 설치된 확장과 원격 컨테이너에 설치된 확장이 모두 표시됩니다.

프로젝트 빌드 및 디버그

F5 키를 누르거나 시작 디버깅 실행을>선택하여 프로젝트를 빌드하고 디버깅을 시작합니다. 애플리케이션은 평소와 같이 디바이스를 빌드하고 테스트용으로 로드합니다. 코드에서 중단점을 설정한 경우 중단점에 도달할 때까지 앱이 실행됩니다. 일반적인 디버깅 명령을 사용하여 코드를 연습할 수 있습니다. 자세한 내용은 Visual Studio Code 설명서의 디버깅 항목을 참조하세요.

디버깅을 마쳤으면 Shift+F5 또는 중지 아이콘을 누릅니다. 코드스페이스를 닫려면 명령 팔레트>코드스페이스 보기>: 현재 코드스페이스 중지를 선택합니다.