ビルド の発行Artifactsタスク

Azure Pipelines |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018 |TFS 2017 |TFS 2015.3

Note

このタスクは非推奨とされます。 代わりに、Pipeline Artifactsすることをお勧めします。

ビルド パイプラインでこのタスクを使用して、ビルド成果物を Azure Pipelines、TFS、またはファイル共有に発行します。

確認要求

なし

YAML スニペット

# Publish build artifacts
# Publish build artifacts to Azure Pipelines or a Windows file share
- task: PublishBuildArtifacts@1
  inputs:
    #pathToPublish: '$(Build.ArtifactStagingDirectory)' 
    #artifactName: 'drop' 
    #publishLocation: 'Container' # Options: container, filePath
    #targetPath: # Required when publishLocation == FilePath
    #parallel: false # Optional
    #parallelCount: # Optional
    #fileCopyOptions: #Optional

引数

引数 説明
pathToPublish
公開するためのパス
必須
発行するフォルダーまたはファイル パス。 これは、完全修飾パスまたはリポジトリのルートを基準にした相対パスを指定できます。 ワイルドカードはサポートされていません。 「Artifacts」をAzure Pipelines。
既定値:$(Build.ArtifactStagingDirectory)
ArtifactName
アーティファクト名
必須
作成する成果物の名前を指定します。 必要な場合があります。
既定値:drop
publishLocation
成果物の公開場所
必須
成果物を Azure Pipelines ( ) に格納するか、ビルド エージェントからアクセスできる必要があるファイル共有 ( ) にコピー ContainerFilePath するか選択します。 詳細については、「 」の「Artifacts」をAzure Pipelines。
既定値:Container
TargetPath
ファイル共有パス
必須 。if
ファイルをコピーするファイル共有へのパスを指定します。 パスは、リポジトリのルート ディレクトリを基準にした完全修飾パスまたは有効なパスである必要があります。 Linux または macOS エージェントからファイル共有への成果物の発行はサポートされていません。
Parallel
並列コピー (Azure Pipelines、TFS 2018以降)
複数のスレッドを使用してファイルを並列にコピーしてスループットを向上するかどうかを選択します。 この設定が有効になっていない場合は、1 つのスレッドが使用されます。
ParallelCount
並列カウント (Azure Pipelines、TFS 2018以降)
コピーの実行に使用する並列処理の次数 (スレッド数) を入力します。 値は 1 以上で、128 より大きくする必要があります。 ビルド エージェントの CPU 機能に基づいて値を選択します。
既定値:8
FileCopyOptions
ファイル のコピー オプション
Robocopy コマンドに追加のオプションを渡します。 たとえば、再帰ミニマッチ パターン **/* です。
コントロール オプション

Note

このコンテンツはWeb要求に応答して提供されないので、IIS によって予約されている Bin、App_Data、その他のフォルダー名を成果物名として使用することはできません。 詳細については、「ASP.NET Web Project フォルダー構造」を参照してください。

steps:
- task: CopyFiles@2
  inputs:
    contents: '_buildOutput/**'
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: $(Build.ArtifactStagingDirectory)
    artifactName: MyBuildOutputs

よく寄せられる質問

Q: 成果物の発行で問題が発生しています。 詳細なログを表示する方法

パイプラインの詳細なログを有効にするには:

  1. パイプラインを編集して [変数] を選択する
  2. 名前と値を使用して新しい変数 System.Debug を追加する true
  3. および

Q: 使用できる変数は何ですか?

A: $(Build.SourcesDirectory)$(Agent.BuildDirectory) と は、パイプラインで使用できる変数のほんの一部です。 変数は、式または スクリプトとして 使用できます。

さまざまな種類の変数については、「変数の定義」、定義済みの変数、およびクラシックリリース変数と成果物変数に関するページを参照してください。

Q: タスクを使用すると、yaml パイプラインのデプロイ ジョブで成果物を発行できますが、ダウンストリーム パイプラインで使用することはできませんか?

A: デプロイ ジョブにはソース ブランチのコンテキストは含め"な"ので、成果物の発行には適していない。 これらは主に成果物を使用するように設計されています。 回避策は、そのロジックを (デプロイ ジョブに依存する) 別のジョブに分離する方法です。