ビルド成果物の発行タスクPublish Build Artifacts task

Azure Pipelines |TFS 2018 |TFS 2017 |TFS 2015.3Azure Pipelines | TFS 2018 | TFS 2017 | TFS 2015.3

注意

このタスクは非推奨とされます。This task is deprecated. Team Foundation Server 2017 以降を使用している場合は、 パイプラインアーティファクトを使用することをお勧めします。If you're using Team Foundation Server 2017 or newer, we recommend that you use Pipeline Artifacts.

ビルドパイプラインでこのタスクを使用して、ビルド成果物を Azure Pipelines、TFS、またはファイル共有に発行します。Use this task in a build pipeline to publish build artifacts to Azure Pipelines, TFS, or a file share.

確認要求Demands

なしNone

YAML スニペットYAML snippet

# 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

引数Arguments

引数Argument 説明Description
pathToPublish
公開するためのパスPath to publish
必須required
発行するフォルダーまたはファイルのパス。The folder or file path to publish. これには、完全修飾パスまたはリポジトリのルートを基準とした相対パスを指定できます。This can be a fully-qualified path or a path relative to the root of the repository. ワイルドカードはサポートされていません。Wildcards are not supported. Azure Pipelines のアーティファクトを参照してください。See Artifacts in Azure Pipelines.
既定値:$(Build.ArtifactStagingDirectory)Default value: $(Build.ArtifactStagingDirectory)
ArtifactName
アーティファクト名Artifact name
必須required
作成するアーティファクトの名前を指定します。Specify the name of the artifact that you want to create. 任意のものにすることができます。It can be whatever you want.
既定値:dropDefault value: drop
publishLocation
成果物の公開場所Artifact publish location
必須required
成果物を Azure Pipelines () に保存するか ContainerFilePath ビルドエージェントからアクセスできる必要があるファイル共有 () にコピーするかを選択します。Choose whether to store the artifact in Azure Pipelines (Container), or to copy it to a file share (FilePath) that must be accessible from the build agent. 詳細については、「 Azure Pipelines の成果物」を参照してください。To learn more, see Artifacts in Azure Pipelines.
既定値:ContainerDefault value: Container
TargetPath
ファイル共有パスFile share path
必須、if publishLocation=FilePathrequired, if publishLocation=FilePath
ファイルのコピー先のファイル共有へのパスを指定します。Specify the path to the file share where you want to copy the files. パスは、リポジトリのルートディレクトリを基準とした完全修飾パスまたは有効なパスである必要があります。The path must be a fully-qualified path or a valid path relative to the root directory of your repository. Linux または macOS エージェントからファイル共有への成果物の発行はサポートされていません。Publishing artifacts from a Linux or macOS agent to a file share is not supported.
Parallel
並列コピー (Azure PipelinesTFS 2018 以降)Parallel copy (Azure Pipelines, TFS 2018, or newer)
潜在的なスループットを向上させるために、複数のスレッドを使用して並列でファイルをコピーするかどうかを選択します。Select whether to copy files in parallel using multiple threads for greater potential throughput. この設定が有効になっていない場合は、1つのスレッドが使用されます。If this setting is not enabled, a single thread will be used.
ParallelCount
並列カウント (Azure PipelinesTFS 2018 以降)Parallel count (Azure Pipelines, TFS 2018, or newer)
コピーを実行するために使用される並列処理の次数 (スレッド数) を入力します。Enter the degree of parallelism (the number of threads) used to perform the copy. 値は1以上128以下でなければなりません。The value must be at least 1 and not greater than 128. ビルドエージェントの CPU 機能に基づいて値を選択します。Choose a value based on CPU capabilities of the build agent.
既定値:8Default value: 8
FileCopyOptions
ファイルコピーオプションFile copy options
追加のオプションを Robocopy コマンドに渡します。Pass additional options to the Robocopy command. たとえば、recursive minimatch パターン **/* です。For example, the recursive minimatch pattern **/*.
制御オプションControl options

注意

IIS によって予約されている BinApp_Data などのフォルダー名をアーティファクト名として使用することはできません。このコンテンツは、Web 要求への応答としては提供されないためです。You cannot use Bin, App_Data and other folder names reserved by IIS as an artifact name because this content is not served in response to Web requests. 詳細については、 ASP.NET Web プロジェクトフォルダーの構造 を参照してください。Please see ASP.NET Web Project Folder Structure for more details.

使用法Usage

このタスクを使用する一般的なパターンは次のとおりです。A typical pattern for using this task is:

  • 何かを構築するBuild something
  • ビルド出力をステージングディレクトリにコピーするCopy build outputs to a staging directory
  • ステージングされる成果物の発行Publish staged artifacts

次に例を示します。For example:

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

ソースを開くOpen source

このタスクは、 GitHub のオープンソースです。This task is open source on GitHub. フィードバックと投稿が歓迎されます。Feedback and contributions are welcome.

よく寄せられる質問FAQ

Q: アーティファクトを発行する際に問題が発生しています。Q: I'm having issues with publishing my artifacts. 詳細ログを表示するにはどうすればよいですか。How can I view the detailed logs?

パイプラインの詳細ログを有効にするには、次の手順を実行します。To enable detailed logs for your pipeline:

  1. パイプラインを編集して 変数 を選択するEdit your pipeline and select Variables
  2. 名前と値を持つ新しい変数を追加します。 System.Debug``trueAdd a new variable with the name System.Debug and value true
  3. 保存Save

Q: どの変数を使用できますか。Q: Which variables are available to me?

A: $(Build.SourcesDirectory)$(Agent.BuildDirectory) は、パイプラインで使用できる変数のほんの一部です。A: $(Build.SourcesDirectory) and $(Agent.BuildDirectory) are just few of the variables you can use in your pipeline. 変数は、 またはスクリプトとして使用できます。Variables are available as expressions or scripts.

さまざまな種類の変数の詳細については、「変数、定義済みの変数、および従来のリリースとアイテムの変数定義」を参照してください。See Define variables, predefined variables, and Classic release and artifacts variables to learn about the different types of variables.