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(VSTSフィードパッケージパブリッシュ) | パッケージ名。 小文字にする必要があります。 文字、数字、ダッシュのみを使用します。 |
パッケージ公開説明 | パッケージの内容の説明。 |
パイプラインから Azure Artifacts フィードにパッケージを発行するには、パイプライン ID にフィードに対する Feed Publisher (共同作成者) ロールが必要です。 詳細については、「Pipelines のアクセス許可」を参照してください。
外部フィードに発行するには、まず、フィードで認証するためのサービス接続を作成する必要があります。 詳細については、「サービス接続の管理」を参照してください。
パッケージのバージョン管理
ユニバーサル パッケージはセマンティック バージョン管理仕様に従い、名前とバージョン番号で識別できます。 セマンティック バージョン番号は、Major、Minor、Patch の 3 つの数値コンポーネントで構成されます。形式は Major.Minor.Patch
です。
マイナー バージョン番号は、以前のバージョンと下位互換性のある新機能が追加されるとインクリメントされます。この場合は、マイナー バージョンをインクリメントし、パッチ バージョンを 0 (1.4.17
1.5.0
) にリセットします。 メジャー バージョン番号は、以前のバージョンとの互換性を損なう可能性のある大幅な変更がある場合にインクリメントされます。 この場合は、メジャー バージョンをインクリメントし、マイナー バージョンとパッチ バージョンを 0 (2.6.5
3.0.0
) にリセットします。 修正プログラムのバージョン番号は、以前のバージョンとの互換性に影響しないバグ修正またはその他の小さな変更のみが行われた場合にインクリメントする必要があります (1.0.1
に1.0.0
)。
新しいパッケージを発行すると、ユニバーサル パッケージ タスクによって、次のメジャー バージョン、マイナー バージョン、またはパッチ バージョンが自動的に選択されます。
パッケージのバージョン管理を有効にするには、versionOption
入力を YAML ファイルに追加します。 新しいパッケージ バージョンを発行するためのオプションは、major
、minor
、patch
、または custom
です。
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 | カスタム パッケージのバージョン。 |
パッケージ公開説明 | パッケージの内容の説明。 |
ユニバーサル パッケージをダウンロードする
組織内のフィードからユニバーサル パッケージをダウンロードするには、次のように 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 | ダウンロードするパッケージのバージョン。 |
ダウンロードディレクトリ | パッケージの宛先フォルダー。 既定値: $(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 | 外部フィードの名前。 |
パッケージ外部ダウンロード | ダウンロードするパッケージ名。 |
versionDownloadExternal | ダウンロードするパッケージのバージョン。 |
ヒント
ワイルドカードを使用して、ユニバーサル パッケージの最新バージョンをダウンロードできます。 詳細については、「最新バージョンのをダウンロードする」を参照してください。