Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts를 사용하면 개발자가 다양한 유형의 패키지를 호스트하고 공유하여 공동 작업 및 패키지 배포를 간소화할 수 있습니다. 이 문서에서는 Azure Artifacts를 사용할 때의 주요 개념을 설명합니다.
피드
Azure Artifacts 피드는 액세스를 제어하는 동안 패키지를 저장, 관리 및 공유하는 구조화된 방법을 제공하는 조직 구문입니다. 피드는 특정 패키지 형식으로 제한되지 않으며 npm, NuGet, Maven, Python, Cargo 및 유니버설 패키지와 같은 다양한 형식을 호스트할 수 있습니다. 피드의 범위를 프로젝트 또는 조직으로 지정할 수 있습니다. 그러나 프로젝트 범위 피드만 공용으로 설정할 수 있으며 조직 범위 피드는 프로젝트 범위 피드로 변환할 수 없습니다.
피드 보기
피드 보기를 사용하면 개발자가 선택한 패키지 버전 하위 집합을 소비자와 공유할 수 있습니다. 일반적인 사용 사례는 아직 개발 중인 버전을 보류하거나 특정 품질 표준을 충족하지 않는 동안 테스트된 패키지 버전과 유효성이 검사된 패키지 버전만 공유하는 것입니다.
기본적으로 피드에는 세 가지 보기, 즉 @local, @prerelease및 @release. 후자의 두 가지는 필요에 따라 이름을 바꾸거나 삭제할 수 있습니다.
@local 는 업스트림 원본에서 일반적으로 사용되는 기본 보기이며, 피드에 직접 게시된 모든 패키지와 업스트림 원본에서 저장된 패키지를 포함합니다.
업스트림 소스
업스트림 원본을 사용하면 단일 피드 내에 여러 원본의 패키지를 저장할 수 있습니다. 여기에는 게시하는 패키지와 외부 피드 및 공용 레지스트리(예: NuGet.org 또는 npmjs.com)에서 저장된 패키지가 모두 포함됩니다. 피드에서 업스트림 원본을 사용하도록 설정하면 Azure Artifacts는 공동 작업자가 설치한 패키지의 복사본을 업스트림 원본에서 자동으로 저장합니다.
NuGet 및 Maven과 같은 여러 피드를 지원하는 퍼블릭 패키지 관리자의 경우 피드가 쿼리되는 순서는 다를 수 있습니다. 예를 들어 NuGet은 구성된 모든 피드에 병렬 쿼리를 보내고 수신하는 첫 번째 유효한 응답을 선택합니다. 이로 인해 비결정적 동작이 발생할 수 있습니다.
업스트림 원본은 다음 순서대로 피드 및 해당 업스트림 원본을 검색하여 이러한 비결정적 동작을 완화하는 데 도움이 됩니다.
피드에 직접 게시된 패키지입니다.
업스트림 원본에서 저장된 패키지입니다.
업스트림 원본에서 사용할 수 있는 패키지입니다. 각 업스트림 원본은 피드의 구성에 표시되는 순서대로 검색됩니다.
메모
빠른 조회 기능을 최대한 활용하려면 구성 파일에 피드를 하나만 포함하는 것이 좋습니다.
불변
특정 버전의 패키지를 피드에 게시하면 해당 버전 번호가 영구적으로 예약됩니다. 동일한 버전 번호로 패키지의 최신 수정 버전을 업로드할 수 없으며, 패키지를 삭제하고 동일한 버전 번호로 새 패키지를 업로드할 수도 없습니다.
인덱싱
Azure Artifacts는 빠른 목록 작업을 가능하게 하는 각 피드에 있는 모든 패키지의 인덱스를 유지 관리합니다. 이는 클라이언트가 인식하는 인덱스를 제공하도록 파일 공유가 구성되지 않은 한 클라이언트가 각 패키지를 열고 해당 메타데이터를 검사해야 하는 파일 공유와 다릅니다.
정확한 형식화
Azure Artifacts는 모든 게시된 패키지의 유효성을 검사하여 무결성과 정확성을 보장합니다. 이렇게 하면 잘못된 패키지가 개발 환경에 진입하지 못하도록 방지할 수 있습니다. 잘못된 형식의 패키지를 게시하고 Azure Artifacts로 마이그레이션할 계획인 워크플로가 있는 경우 전환 중에 워크플로를 수정하여 패키지가 Azure Artifacts에서 유효성 검사 검사를 통과하도록 하는 것이 중요합니다.
휴지통
패키지를 수동으로 삭제하거나 피드에 대한 보존 정책을 설정하여 삭제할 수 있습니다. 삭제된 패키지는 자동으로 영구적으로 삭제되기 전에 30일 동안 휴지통에 남아 있습니다. 피드 소유자만 휴지통에서 삭제된 패키지를 복구할 수 있습니다.
피드를 삭제하려면 피드 소유자여야 합니다. 삭제된 피드는 자동으로 영구적으로 삭제되기 전에 30일 동안 휴지통에 남아 있습니다. 피드가 영구적으로 삭제되면 피드 이름을 사용할 수 있게 됩니다.