Azure Pipelines를 사용하여 기호 게시

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines를 사용하면 인덱스 원본을 사용하여 Azure Artifacts 기호 서버에 기호를 게시하고 기호 작업을 게시할 수 있습니다 . 디버거를 사용하여 제품 이름, 빌드 번호 또는 패키지 이름을 모르고 올바른 기호 파일을 연결하고 자동으로 검색할 수 있습니다. Azure Pipelines를 사용하여 파일 공유 및 이식 가능한 PDB에 기호를 게시할 수도 있습니다.

참고 항목

인덱스 원본 및 게시 기호 작업은 릴리스 파이프라인에서 지원되지 않습니다.

Azure Artifacts 기호 서버에 기호 게시

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 파이프라인을 선택하고 파이프라인을 선택한 다음 편집을 선택하여 파이프라인을 수정합니다.

  3. 파이프라인 정의에서 새 작업을 추가하려면 선택합니다 + .

  4. 인덱스 원본을 검색하고 기호 작업을 게시합니다 . 추가를 선택하여 파이프라인에 추가합니다.

  5. 다음과 같은 필수 필드를 입력합니다.

    • 작업 버전: 2.\*.

    • 표시 이름: 작업 표시 이름입니다.

    • 기호 폴더의 경로: 기호 파일을 호스팅하는 폴더의 경로입니다.

    • 검색 패턴: 기호 폴더 경로 아래에 지정한 폴더에서 .pdb 파일을 찾는 데 사용되는 패턴입니다. 단일 폴더 와일드카드(*) 및 재귀 야생카드s()가** 모두 지원됩니다. 예: *\bin**.pdb: bin이라는 모든 하위 디렉터리 내에서 모든 .pdb 파일을 검색합니다.

    • 인덱스 원본: PDB 파일에 원본 서버 정보를 삽입할지 여부를 나타냅니다.

    • 기호 게시: 기호 파일을 게시할지 여부를 나타냅니다.

      • 기호 서버 유형: 이 조직/컬렉션에서 기호 서버를 선택하여 (Azure Artifacts 필요) 기호를 Azure Artifacts 기호 서버에 게시합니다.
    • 자세한 정보 로깅: 로그에 자세한 정보를 포함합니다.

인덱스 원본을 구성하고 기호 작업을 게시하여 Azure Artifacts 기호 서버에 기호를 게시하는 방법을 보여 주는 스크린샷

파일 공유에 기호 게시

Azure Artifacts 기호 서버 외에도 인덱스 원본 및 기호 게시 작업을 사용하여 파일 공유에 기호를 게시할 수도 있습니다 .

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 파이프라인을 선택하고 파이프라인을 선택한 다음 편집을 선택하여 파이프라인을 수정합니다.

  3. 파이프라인 정의에서 새 작업을 추가하려면 선택합니다 + .

  4. 인덱스 원본을 검색하고 기호 작업을 게시합니다 . 추가를 선택하여 파이프라인에 추가합니다.

  5. 다음과 같은 필수 필드를 입력합니다.

    • 작업 버전: 2.\*.

    • 표시 이름: 작업 표시 이름입니다.

    • 기호 폴더의 경로: 기호 파일을 호스팅하는 폴더의 경로입니다.

    • 검색 패턴: 기호 폴더 경로 아래에 지정한 폴더에서 .pdb 파일을 찾는 데 사용되는 패턴입니다.

    • 인덱스 원본: PDB 파일에 원본 서버 정보를 삽입할지 여부를 나타냅니다.

    • 기호 게시: 기호 파일을 게시할지 여부를 나타냅니다.

      • 기호 서버 유형: 파일 공유를 선택하여 파일 공유 에 기호를 게시합니다.
      • 기호를 게시하는 경로: 기호를 호스트할 파일 공유입니다.
    • 자세한 정보 로깅: 로그에 자세한 정보를 포함하도록 검사.

    인덱스 원본을 구성하고 기호 작업을 게시하여 파일 공유에 기호를 게시하는 방법을 보여 주는 스크린샷

Azure Artifacts 기호 서버에 이식 가능한 PDB 게시

이식 가능한 PDB는 Windows에서만 사용되는 기존 PDB와 달리 모든 플랫폼에서 만들고 사용할 수 있는 기호 파일입니다. 이식 가능한 PDB의 경우 빌드에서 인덱싱을 수행하지만 여전히 인덱스 원본 및 기호 게시 작업을 사용하여 기호를 게시해야 합니다.

Source Link는 개발자가 .NET 어셈블리에서 소스 코드로 다시 매핑하여 소스 코드를 디버그할 수 있는 도구 집합입니다. 포함된 다양한 패키지에 대해 알아보려면 dotnet/sourcelink GitHub 리포지토리를 확인하세요.

  • GitHub에서 호스트되는 프로젝트의 경우 프로젝트 파일에 패키지 참조를 추가 Microsoft.SourceLink.GitHub 합니다.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Azure Repos(이전 Visual Studio Team Services)에서 호스트되는 프로젝트의 경우 프로젝트 파일에 패키지 참조를 추가 Microsoft.SourceLink.AzureRepos.Git 합니다.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Azure DevOps Server(이전 Team Foundation Server)에서 호스트되는 프로젝트의 경우 프로젝트 파일에 패키지 참조를 추가 Microsoft.SourceLink.AzureDevOpsServer.Git 합니다.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    

게시 작업 설정

인덱스 원본 및 기호 게시 작업은 소스 코드를 인덱싱하고 Azure Artifacts 기호 서버 및 파일 공유에 기호를 게시하는 데 사용됩니다. 원본 링크를 사용하므로 게시 작업에서 인덱싱을 사용하지 않도록 설정해야 합니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 파이프라인을 선택하고 파이프라인을 선택한 다음 편집을 선택하여 파이프라인을 수정합니다.

  3. 파이프라인 정의에서 새 작업을 추가하려면 선택합니다 + .

  4. 인덱스 원본을 검색하고 기호 작업을 게시합니다 . 추가를 선택하여 파이프라인에 추가합니다.

  5. 필수 필드를 입력하고 기호 서버 유형대한 기호 서버를 선택합니다. 인덱싱을 사용하지 않도록 설정하려면 검사 인덱스 원본을 해제해야 합니다.

    Azure Artifacts 기호 서버에 이식 가능한 PDB를 게시하도록 게시 작업을 구성하는 방법을 보여 주는 스크린샷

Important

인덱스 원본 및 기호 게시 작업을 통해 게시된 기호를 삭제하려면 먼저 해당 기호를 생성한 빌드를 삭제해야 합니다. 이 작업은 보존 정책을 사용하거나 실행을 수동으로 삭제하여 수행할 수 있습니다.

Visual Studio 설정

참고 항목

Mac용 Visual Studio 기호 서버를 사용하는 디버깅을 지원하지 않습니다.

Azure Artifacts 기호 서버에서 기호를 사용하기 전에 Visual Studio가 올바르게 설정되었는지 확인합니다.

  1. Visual Studio에서 도구를 선택한 다음 옵션을 선택합니다.

  2. 디버깅 메뉴에서 기호 선택합니다.

  3. 기호를 + 선택하여 새 기호 서버 위치를 추가합니다.

    새 기호 서버 위치를 추가하는 방법을 보여 주는 스크린샷

  4. 새 대화 상자가 나타나고 드롭다운 메뉴에서 계정을 선택한 다음 연결할 조직을 선택합니다. 완료되면 커넥트 선택합니다.

  5. 동일한 디버깅 섹션에서 일반 선택합니다. 아래로 스크롤하고 검사 원본 링크 지원을 사용하도록 설정하여 이식 가능한 PDB에 대한 지원을 사용하도록 설정합니다.

    Visual Studio에서 소스 링크 지원을 사용하도록 설정하는 방법을 보여 주는 스크린샷

참고 항목

소스 서버 지원 사용 옵션을 선택하면 소스 코드를 로컬에서 사용할 수 없거나 기호 파일이 소스 코드와 일치하지 않는 경우 원본 서버를 사용할 수 있습니다. 타사 소스 코드에 대해 디버깅을 사용하도록 설정하려면 [내 코드만 사용] 검사 상자의 선택을 취소합니다.

FAQ

Q: 어떤 기호가 보존되는 기간은 무엇인가요?

A: 기호 파일의 보존 기간은 생성된 빌드와 동일합니다. 수동으로 또는 보존 정책을 사용하여 빌드를 삭제하면 해당 빌드에서 생성된 기호도 삭제됩니다.

Q: .NET Core 어셈블리에서 생성된 이식 가능한 PDB에서 원본 인덱싱을 사용할 수 있나요?

A: 지금은 불가능합니다. 원본 인덱싱은 현재 이식 가능한 PDB에 대해 지원되지 않습니다. 권장되는 방법은 인덱싱을 수행하도록 빌드를 구성하는 것입니다.