Azure Artifacts 피드에 패키지 게시
Azure Artifacts를 사용하면 개발자가 단일 피드에서 모든 종속성을 효율적으로 관리할 수 있습니다. Azure Artifacts의 피드는 팀 내, 조직 간 또는 공개적으로 인터넷을 통해 패키지를 저장, 관리 및 공유하기 위한 조직 리포지토리 역할을 합니다. Azure Artifacts 피드는 NuGet, npm, Python, Maven, Cargo 및 유니버설 패키지를 비롯한 다양한 패키지 유형을 지원합니다.
이 문서에서는 Azure Artifacts 피드에 첫 번째 패키지를 게시하는 프로세스를 안내합니다. 또한 GitHub Copilot를 사용하여 이 프로세스를 간소화하고 Visual Studio Code에서 GitHub Copilot 채팅의 기능을 탐색할 수도 있습니다.
필수 조건
.NET Core SDK를 설치합니다.
Azure Artifacts 자격 증명 공급자를 설치합니다.
(선택 사항) GitHub Copilot 및 Visual Studio Code를 설정합니다. 아직 등록하지 않은 경우 30일 GitHub Copilot 무료 평가판을 사용할 수 있습니다.
피드 만들기
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트 및 피드 만들기를 선택합니다.
피드에 대한 설명이 포함된 이름을 제공하고 피드의 표시 유형을 설정합니다(피드에서 패키지를 볼 수 있는 사용자). 피드의 범위를 정의하고 공용 원본의 패키지를 포함하려면 업스트림 원본 확인란을 선택합니다.
완료되면 만들기를 선택합니다.
Azure DevOps 서버에 로그인한 다음 프로젝트로 이동합니다.
아티팩트 및 피드 만들기를 선택합니다.
피드에 대한 설명이 포함된 이름을 제공하고 피드의 표시 유형을 설정합니다(피드에서 패키지를 볼 수 있는 사용자). 피드의 범위를 정의하고 공용 원본의 패키지를 포함하려면 업스트림 원본 확인란을 선택합니다.
완료되면 만들기를 선택합니다.
완료되면 만들기를 선택합니다.
코드 준비
다음 단계에 따라 명령줄에서 기본 클래스 라이브러리 프로젝트를 만들고, 패키지의 메타데이터를 설정하고, NuGet 패키지를 생성합니다.
로컬 컴퓨터에서 새 폴더를 만들고 이름을 지정합니다.
명령 프롬프트 창을 열고 만든 폴더로 이동합니다.
다음 명령을 실행하여 새 클래스 라이브러리 프로젝트를 만듭니다.
dotnet new classlib
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>
다음 명령을 실행하여 프로젝트를 패키지하고 .nupkg 아티팩트를 생성합니다. NuGet 패키지가 디렉터리에 생성됩니다
bin\release
.dotnet pack
피드에 연결
아티팩트 선택 후 드롭다운 메뉴에서 피드를 선택합니다.
피드에 연결을 선택한 다음 NuGet 섹션에서 dotnet을 선택합니다.
프로젝트 설정의 지침에 따라 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>
Azure DevOps 컬렉션에 로그인한 다음 프로젝트로 이동합니다.
아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.
피드에 연결을 선택한 다음 왼쪽 탐색 창에서 dotnet을 선택합니다.
프로젝트 설정 섹션의 지침에 따라 nuget.config 파일을 구성하고 피드에 연결합니다.
팁
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>