다음을 통해 공유


명령줄에서 NuGet 패키지 게시(dotnet)

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

이 가이드에서는 dotnet 명령줄 인터페이스를 사용하여 NuGet 패키지를 게시하도록 프로젝트를 구성하는 방법을 안내합니다.

필수 구성 요소

제품 요구 사항
Azure DevOps - Azure DevOps 조직.
- Azure DevOps 프로젝트.
- Azure Artifacts의 피드.
- Azure Artifacts 자격 증명 공급자을 다운로드하여 설치합니다.
- .NET Core SDK(2.1.400 이상) 다운로드하고 설치합니다.

피드에 연결

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

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

  3. 연결을 선택하여피드한 다음 왼쪽의 NuGet 섹션에서 dotnet 선택합니다.

  4. csproj 또는 sln 파일과 동일한 폴더에 nuget.config 파일을 만듭니다. 다음 XML 코드 조각을 복사하여 새 파일에 붙여넣고 자리 표시자를 관련 정보로 바꿉 있습니다.

  • 조직 전반의 피드:

    <?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>
    
  • 프로젝트에 한정된 피드

    <?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>
    
  1. Azure DevOps 서버에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트선택한 다음 피드를 선택합니다.

  3. 피드 에 연결하려면을 선택하고, 왼쪽 탐색 창에서 dotnet을(를) 선택합니다.

  4. 프로젝트 설정 섹션의 지침에 따라 피드에 연결합니다.

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

메모

dotnet은 Azure DevOps Server 2019에서 지원되지 않습니다.

동일한 조직의 피드에 패키지 게시

다음 명령을 실행하여 피드에 패키지를 게시합니다. 자리 표시자를 적절한 값으로 바꿉다.

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

예제:

dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

메모

api-key 필요하지만 Azure Artifacts 피드에 게시할 때 문자열을 해당 값으로 제공할 수 있습니다.

다른 조직의 피드에 패키지 게시

다른 Azure DevOps 조직의 피드에 NuGet 패키지를 게시하려면 먼저 대상 조직에서 PAT(개인 액세스 토큰)를 만들어야 합니다.

  1. 대상 피드를 호스팅하는 조직으로 이동하여 패키징>읽기 & 쓰기 범위를 사용하여 PAT(개인용 액세스 토큰)를 만듭니다.

  2. <PERSONAL_ACCESS_TOKEN> 자리 표시자를 개인용 액세스 토큰으로 바꾼 다음 다음 명령을 실행하여 패키지 원본을 nuget.config 파일에 추가합니다. 이 파일이 안전하게 저장되고 소스 제어에 체크 인되지 않았는지 확인합니다.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. 다음 명령을 실행하여 패키지를 게시합니다.

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

예제:

dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config

dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

메모

조직에서 방화벽 또는 프록시 서버를 사용하는 경우 Azure Artifacts 도메인 URL 및 IP 주소을 허용해야 합니다.