發佈組建 Artifacts 工作

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

注意

此工作已被取代。 我們建議您改用管線 Artifacts工作。 管線的最新版本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
    #storeAsTar: false # Optional

引數

引數 描述
pathToPublish
要發佈的路徑
必要
要發佈的資料夾或檔案路徑。 這可以是完整路徑或相對於存放庫根目錄的路徑。 不支援萬用字元。 請參閱Azure Pipelines 中的 Artifacts
預設值:$(Build.ArtifactStagingDirectory)
ArtifactName
成品名稱
必填
指定您想要建立之成品的名稱。 它可以是您想要的任何內容。
預設值:drop
publishLocation
成品發行位置
必填
選擇是否要將成品儲存在 Azure Pipelines (Container) ,或將它複製到必須可從組建代理程式存取的檔案共用 (FilePath) 。 若要深入瞭解,請參閱Azure Pipelines 中的 Artifacts
預設值:Container
TargetPath
檔案共用路徑
必要,如果 publishLocation=FilePath
指定您要複製檔案的檔案共用路徑。 路徑必須是完整路徑或相對於存放庫根目錄的有效路徑。 不支援將構件從 Linux 或 macOS 代理程式發行至檔案共用。
Parallel
平行複製 (Azure PipelinesTFS 2018或更新版本)
選取是否要使用多個執行緒以平行方式複製檔案,以取得更高的潛在輸送量。 如果未啟用此設定,則會使用單一執行緒。
ParallelCount
平行計數 (Azure PipelinesTFS 2018或更新的)
輸入平行處理原則的程度 () 用來執行複製的執行緒數目。 此值必須至少為1且不大於128。 根據組建代理程式的 CPU 功能選擇值。
預設值:8
FileCopyOptions
檔案複製選項
將其他選項傳遞給 Robocopy 命令。 例如,遞迴 minimatch 模式 **/*
StoreAsTar
在上傳之前將構件 Tar
在上傳之前,將所有檔案從發佈路徑新增至 tar 封存。 此選項可讓您保留 UNIX 檔案的許可權。 使用 extractTarsDownloadBuildArtifacts 工作的選項,自動解壓縮下載的專案。 在 Windows 時忽略
預設值:false
控制項選項

注意

您無法使用 BinAPP_DATA 和其他 IIS 保留的資料夾名稱做為成品名稱,因為這項內容不會提供回應 Web 要求的服務。 如需詳細資訊,請參閱ASP.NET Web Project 資料夾結構

範例

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

常見問題集

問:我在發佈構件時遇到問題。 如何查看詳細記錄?

若要啟用管線的詳細記錄:

  1. 編輯您的管線並選取 變數
  2. 新增具有名稱 System.Debug 和值的變數 true
  3. 儲存

問:我可以使用哪些變數?

答: $(Build.SourcesDirectory)$(Agent.BuildDirectory) 只是您可以在管線中使用的變數。 變數可以做為 運算式 或腳本。

請參閱 定義變數預先定義的變數傳統版本和成品變數 ,以瞭解不同類型的變數。

問:工作可讓我在 yaml 管線的部署工作中發佈成品,但我無法在下游管線中使用它?

答:部署作業沒有來源分支的內容,因此不適合用來發佈成品。 它們主要是設計來使用成品。 因應措施是將該邏輯隔離到個別的作業, (相依于) 的部署作業。