Azure Pipelines でユニバーサル パッケージを発行およびダウンロードする
Azure DevOps Services
ユニバーサル パッケージを使用すると、あらゆる種類のファイルをいくつでもパッケージにして、チームと共有できます。 Azure Pipelines のユニバーサル パッケージ タスクを使用すると、最大 4 TB までのさまざまなサイズのパッケージをパック、発行、ダウンロードできます。 各パッケージは、名前とバージョン番号によって一意に識別されます。 Azure CLI または Azure Pipelines を使用すると、Artifacts フィードからパッケージを発行および使用できます。
注意
ユニバーサル パッケージは、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 をフィード発行者 (共同作成者) になるように設定する必要があります。 詳細については、「 Pipelines のアクセス許可」を参照してください。
外部フィードに発行する場合は、まず、フィードで認証するためのサービス接続を作成しておく必要があります。 詳細については、「サービス接続の管理」を参照してください。
パッケージのバージョン管理
ユニバーサル パッケージはセマンティック バージョン管理の仕様に従い、名前とバージョン番号で識別できます。 セマンティック バージョン番号は、メジャー、マイナー、パッチの 3 つの数値コンポーネントが Major.Minor.Patch
の形式で構成されます。
マイナー バージョン番号は、以前のバージョンと下位互換性のある新機能が追加されると増分されます。この場合、マイナー バージョンを増分して、パッチ バージョンを 0 にリセットします (1.4.17
から 1.5.0
)。 メジャー バージョン番号は、以前のバージョンとの互換性が損なわれる可能性のある大幅な変更がある場合に増分します。 この場合は、メジャー バージョンを増分し、マイナー バージョンとパッチ バージョンを 0 にリセットします (2.6.5
から 3.0.0
)。 パッチ バージョン番号は、以前のバージョンとの互換性に影響を与えないバグ修正やその他の小さな変更のみが実施された場合に増分される必要があります (1.0.0
から 1.0.1
)。
新しいパッケージを発行すると、ユニバーサル パッケージ タスクによって、次のメジャー、マイナー、またはパッチ バージョンが自動的に選択されます。
パッケージのバージョン管理を有効にするには、YAML ファイルに versionOption
入力を追加します。 新しいパッケージ バージョンを発行する際のオプションは、major
、minor
、patch
、または custom
です。
custom
を選択すると、パッケージのバージョンを手動で指定できるようになります。 その他のオプションでは、フィードから最新のパッケージ バージョンが取得され、選択したバージョン セグメントを 1 ずつ増分します。 そのため、testPackage 1.0.0 があるときに、major オプションを選択すると、新しいパッケージは testPackage 2.0.0 になります。 minor オプションを選択すると、パッケージ バージョンは 1.1.0 になり、patch オプションを選択すると、パッケージ バージョンは 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 | ダウンロードするパッケージをホストしている Artifacts フィード。 |
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 | ダウンロードするパッケージのバージョン。 |
ヒント
ユニバーサル パッケージの最新バージョンをダウンロードする場合は、ワイルドカードを使用できます。 詳細については、「最新バージョンのダウンロード」を参照してください。