Azure Pipelines를 사용하여 범용 패키지 게시 및 다운로드

Azure DevOps Services

유니버설 패키지를 사용하면 모든 형식의 파일을 패키지하고 팀과 공유할 수 있습니다. Azure Pipelines의 유니버설 패키지 작업을 사용하여 최대 4TB의 다양한 크기의 패키지를 압축, 게시 및 다운로드할 수 있습니다. 각 패키지는 이름 및 버전 번호로 고유하게 식별됩니다. Azure CLI 또는 Azure Pipelines를 사용하여 아티팩트 피드에서 패키지를 게시하고 사용할 수 있습니다.

참고 항목

유니버설 패키지는 Azure DevOps Services에서만 사용할 수 있습니다.

파일 복사

Azure Pipelines의 유니버설 패키지 작업은 기본 게시 디렉터리로 사용하도록 $(Build.ArtifactStagingDirectory) 설정됩니다. 유니버설 패키지 게시를 준비하려면 게시할 파일을 해당 디렉터리로 이동합니다. 파일 복사 유틸리티 작업을 사용하여 해당 파일을 게시 디렉터리에 복사할 수도 있습니다.

유니버설 패키지 게시

유니버설 패키지를 Azure Artifacts 피드에 게시하려면 파이프라인의 YAML 파일에 다음 작업을 추가합니다.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
인수 설명
publishDirectory 게시할 파일의 위치입니다.
vstsFeedPublish 게시할 프로젝트 및 피드 이름입니다. 조직 범위 피드로 작업하는 경우 피드 이름만 지정합니다.
vstsFeedPackagePublish 패키지 이름입니다. 소문자여야 합니다. 문자, 숫자 및 대시만 사용합니다.
packagePublishDescription 패키지 콘텐츠에 대한 설명입니다.

파이프라인에서 Azure Artifacts 피드에 패키지를 게시하려면 파이프라인 ID에 피드에 대한 피드 게시자(기여자) 역할이 있어야 합니다. 자세한 내용은 파이프라인 사용 권한을 참조 하세요.

외부 피드에 게시하려면 먼저 피드로 인증할 서비스 연결을 만들어야 합니다. 자세한 내용은 서비스 연결 관리를 참조 하세요.

패키지 버전 관리

유니버설 패키지는 의미 체계 버전 관리 사양을 따르며 이름 및 버전 번호로 식별할 수 있습니다. 의미 체계 버전 번호는 다음과 같은 세 Major.Minor.Patch가지 숫자 구성 요소(주, 부 및 패치)로 구성됩니다.

이전 버전과 호환되는 새 기능이 추가되면 부 버전 번호가 증가합니다. 이 경우 부 버전을 증가시키고 패치 버전을 0으로1.4.171.5.0다시 설정합니다. 이전 버전과의 호환성을 손상시킬 수 있는 중요한 변경 내용이 있는 경우 주 버전 번호가 증가합니다. 이 경우 주 버전을 증가시키고 부 버전과 패치 버전을 0(2.6.5 ~ 3.0.0)으로 다시 설정합니다. 이전 버전과의 호환성에 영향을 주지 않는 버그 수정 또는 기타 작은 변경 내용만 적용되면 패치 버전1.0.01.0.1번호가 증가해야 합니다.

새 패키지를 게시할 때 유니버설 패키지 작업은 자동으로 다음 주 버전, 부 버전 또는 패치 버전을 선택합니다.

패키지에 대한 버전 관리를 사용하도록 설정하려면 YAML 파일에 입력을 추가 versionOption 합니다. 새 패키지 버전을 게시하는 옵션은 다음과 majorminorpatchcustom같습니다.

custom 이 옵션을 선택하면 패키지 버전을 수동으로 지정할 수 있습니다. 다른 옵션은 피드에서 최신 패키지 버전을 가져오고 선택한 버전 세그먼트를 1씩 증분합니다. 따라서 testPackage 1.0.0이 있고 주 옵션을 선택하면 새 패키지가 testPackage 2.0.0이 됩니다. 부 옵션을 선택하면 패키지 버전이 1.1.0이 되고 패치 옵션을 선택하면 패키지 버전이 1.0.1이 됩니다.

옵션을 선택하는 custom 경우 다음과 같이 값을 지정 versionPublish 해야 합니다.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    packagePublishDescription: '<Package description>'
인수 설명
publishDirectory 게시할 파일의 위치입니다.
vstsFeedPublish 게시할 프로젝트 및 피드 이름입니다. 조직 범위 피드로 작업하는 경우 피드 이름만 지정합니다.
vstsFeedPackagePublish 패키지 이름입니다. 소문자여야 합니다. 문자, 숫자 및 대시만 사용합니다.
versionOption 버전 관리 전략을 선택합니다. 옵션은 major, minor, patch, custom입니다.
versionPublish 사용자 지정 패키지 버전입니다.
packagePublishDescription 패키지 콘텐츠에 대한 설명입니다.

유니버설 패키지 다운로드

조직의 피드에서 유니버설 패키지를 다운로드하려면 다음과 같이 명령과 함께 download 유니버설 패키지 작업을 사용합니다.

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
인수 설명
vstsFeed 다운로드할 패키지를 호스팅하는 아티팩트 피드입니다.
vstsFeedPackage 다운로드할 패키지의 이름입니다.
vstsPackageVersion 다운로드할 패키지의 버전입니다.
downloadDirectory 패키지 대상 폴더입니다. 기본값: $(System.DefaultWorkingDirectory).

외부 원본에서 유니버설 패키지를 다운로드하려면 다음 코드 조각을 사용합니다.

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external
    externalFeedCredentials: 'MSENG2'
    feedDownloadExternal: 'fabrikamFeedExternal'
    packageDownloadExternal: 'fabrikam-package'
    versionDownloadExternal: 1.0.0
인수 설명
feedsToUse 외부 원본에서 다운로드할 external 때 값을 설정합니다.
externalFeedCredentials 외부 피드에 대한 서비스 연결의 이름입니다. 자세한 내용은 서비스 연결 관리를 참조 하세요.
feedDownloadExternal 외부 피드의 이름입니다.
packageDownloadExternal 다운로드하려는 패키지 이름입니다.
versionDownloadExternal 다운로드하려는 패키지의 버전입니다.

wild카드를 사용하여 유니버설 패키지의 최신 버전을 다운로드할 수 있습니다. 자세한 내용은 최신 버전 다운로드를 참조 하세요.