다음을 통해 공유


Azure Artifacts 피드에 패키지 게시

Azure Artifacts를 사용하면 개발자가 단일 피드에서 모든 종속성을 효율적으로 관리할 수 있습니다. Azure Artifacts의 피드는 팀 내, 조직 간 또는 공개적으로 인터넷을 통해 패키지를 저장, 관리 및 공유하기 위한 조직 리포지토리 역할을 합니다. Azure Artifacts 피드는 NuGet, npm, Python, Maven, Cargo 및 유니버설 패키지를 비롯한 다양한 패키지 유형을 지원합니다.

이 문서에서는 Azure Artifacts 피드에 첫 번째 패키지를 게시하는 프로세스를 안내합니다. 또한 GitHub Copilot를 사용하여 이 프로세스를 간소화하고 Visual Studio Code에서 GitHub Copilot 채팅의 기능을 탐색할 수도 있습니다.

필수 조건

피드 만들기

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

  2. 아티팩트 및 피드 만들기를 선택합니다.

  3. 피드에 대한 설명이 포함된 이름을 제공하고 피드의 표시 유형을 설정합니다(피드에서 패키지를 볼 수 있는 사용자). 피드의 범위를 정의하고 공용 원본의 패키지를 포함하려면 업스트림 원본 확인란을 선택합니다.

  4. 완료되면 만들기를 선택합니다.

    Azure DevOps Services에서 새 피드를 만드는 방법을 보여 주는 스크린샷

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

  2. 아티팩트 및 피드 만들기를 선택합니다.

  3. 피드에 대한 설명이 포함된 이름을 제공하고 피드의 표시 유형을 설정합니다(피드에서 패키지를 볼 수 있는 사용자). 피드의 범위를 정의하고 공용 원본의 패키지를 포함하려면 업스트림 원본 확인란을 선택합니다.

  1. 완료되면 만들기를 선택합니다.

    Azure DevOps Server 2022에서 새 피드를 만드는 방법을 보여 주는 스크린샷

  1. 완료되면 만들기를 선택합니다.

    Azure DevOps Server 2020에서 새 피드를 만드는 방법을 보여 주는 스크린샷

코드 준비

다음 단계에 따라 명령줄에서 기본 클래스 라이브러리 프로젝트를 만들고, 패키지의 메타데이터를 설정하고, NuGet 패키지를 생성합니다.

  1. 로컬 컴퓨터에서 새 폴더를 만들고 이름을 지정합니다.

  2. 명령 프롬프트 창을 열고 만든 폴더로 이동합니다.

  3. 다음 명령을 실행하여 새 클래스 라이브러리 프로젝트를 만듭니다.

    dotnet new classlib
    
  4. csproj 파일을 열고 태그 내에 패키지 메타데이터를 <PropertyGroup> 추가합니다. 파일 구조는 다음과 유사합니다.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <RootNamespace>demo_class_library</RootNamespace>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
    
        <PackageId>YOUR_PACKAGE_NAME</PackageId>
        <Version>YOUR_PACKAGE_VERSION</Version>
        <Authors>YOUR_NAME</Authors>
        <Company>YOUR_COMPANY</Company>
    
      </PropertyGroup>
    
    </Project>
    
  5. 다음 명령을 실행하여 프로젝트를 패키지하고 .nupkg 아티팩트를 생성합니다. NuGet 패키지가 디렉터리에 생성됩니다 bin\release .

    dotnet pack
    

피드에 연결

  1. 아티팩트 선택 후 드롭다운 메뉴에서 피드를 선택합니다.

  2. 피드에 연결을 선택한 다음 NuGet 섹션에서 dotnet 선택합니다.

  3. 프로젝트 설정의 지침에 따라 nuget.config 파일을 설정합니다. 파일의 구조는 다음과 유사합니다.

    • 프로젝트 범위 피드:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • 조직 범위 피드:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Azure DevOps 컬렉션에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.

  3. 피드에 연결을 선택한 다음 왼쪽 탐색 창에서 dotnet을 선택합니다.

  4. 프로젝트 설정 섹션의 지침에 따라 nuget.config 파일을 구성하고 피드에 연결합니다.

    Azure DevOps Server 2020 및 2022에서 dotnet을 사용하여 피드에 연결하는 방법을 보여 주는 스크린샷

GitHub Copilot에 "기존 nuget.config 파일에 새 패키지 원본을 추가하는 방법"을 요청할 수 있습니다. Copilot는 명령을 사용하여 nuget sources Add nuget.config 파일에 새 피드 원본 URL을 추가하는 방법을 안내합니다.

패키지 게시

프로젝트 디렉터리에서 다음 명령을 실행하여 패키지를 게시합니다. ApiKey는 필수이지만 Azure Artifacts 피드에 게시할 때 문자열 값을 사용할 수 있습니다.

dotnet nuget push --source <FEED_NAME> --api-key az <PACKAGE_PATH>

다음 단계