Поделиться через


PublishPipelineArtifact@1 — задача «Публикация артефактов конвейера» версии 1

Используйте эту задачу для публикации (отправки) файла или каталога в качестве именованного артефакта для текущего запуска.

Используйте эту задачу для публикации (отправки) файла или каталога в качестве именованного артефакта для текущего запуска.

Важно!

Эта задача поддерживается только в Azure DevOps Services. Если вы используете его на Azure DevOps Server, вы получите сообщение об ошибке, аналогичное Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. Использованию артефактов публикации сборки, если вы используете Azure DevOps Server или TFS 2018.

Синтаксис

# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
    #artifact: # string. Alias: artifactName. Artifact name. 
    publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
    #fileSharePath: # string. Required when artifactType = filepath. File share path. 
    #parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
    #parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.
    #properties: # string. Custom properties.
# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
    #artifact: # string. Alias: artifactName. Artifact name. 
    publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
    #fileSharePath: # string. Required when artifactType = filepath. File share path. 
    #parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
    #parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.

Входные данные

targetPath - Путь к файлу или каталогу
Входной псевдоним: path. string. Обязательный. Значение по умолчанию: $(Pipeline.Workspace).

Указывает путь к файлу или каталогу для публикации. Может быть абсолютным или относительно рабочего каталога по умолчанию. Может включать переменные, но подстановочные знаки не поддерживаются. Дополнительные сведения см. в статье Артефакты в Azure Pipelines .


artifact - Имя артефакта
Входной псевдоним: artifactName. string.

Указывает имя публикуемого артефакта. Это может быть любое выбранное имя, например drop. Если значение не задано, по умолчанию используется уникальный идентификатор, ограниченный заданием.

Важно!

Имя артефакта не может содержать \, /, , :", <>, , |, *или ?.


publishLocation - Расположение публикации артефакта
Входной псевдоним: artifactType. string. Обязательный. Допустимые значения: pipeline (Azure Pipelines), filepath (общая папка). Значение по умолчанию: pipeline.

Указывает, следует ли хранить артефакт в Azure Pipelines или копировать его в общую папку, доступ к которому должен быть доступен из агента конвейера.


fileSharePath - Путь к общей папке
string. Требуется, если artifactType = filepath.

Указывает общую папку, в которой копируются файлы артефактов. Сюда могут входить переменные, например \\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber). Публикация артефактов из агента Linux или macOS в общую папку не поддерживается, например \\server\folderName.


parallel - Параллельное копирование
boolean. Необязательный элемент. Используйте при artifactType = filepath. Значение по умолчанию: false.

Указывает, следует ли копировать файлы параллельно с помощью нескольких потоков для повышения потенциальной пропускной способности. Если этот параметр не включен, будет использоваться один поток.


parallelCount - Число параллельных операций
string. Необязательный элемент. Используйте при artifactType = filepath && parallel = true. Значение по умолчанию: 8.

Указывает степень параллелизма или количество потоков, используемых для выполнения копирования. Значение должно находиться в диапазоне от 1 до 128.


properties - Пользовательские свойства
string.

Указывает пользовательские свойства, которые необходимо связать с артефактом. Используйте допустимую строку JSON с префиксом user- для всех ключей.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Публикация не поддерживается в классических конвейерах выпуска.

Примечание

Публикация артефактов конвейера не поддерживается в локальной среде. Если вы используете Azure DevOps Server или TFS 2018, используйте функцию Публикации артефактов сборки. Если вы используете его на Azure DevOps Server, вы получите сообщение об ошибке, похожее на Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead..

Ключевые publish слова и download являются ярлыками для задач PublishPipelineArtifact@1 и DownloadPipelineArtifact@2. Дополнительные сведения см . в разделах steps.publish и steps.download .

Совет

Вы можете использовать файл .artifactignore для управления тем, какие файлы будут опубликованы.

У меня возникли проблемы с публикацией артефактов. Как просмотреть подробные журналы?

Чтобы включить подробные журналы для конвейера, выполните следующие действия.

  1. Измените конвейер и выберите Переменные.
  2. Добавление новой переменной с именем System.Debug и значением true
  3. Сохранить

Какие переменные доступны мне?

О. $(Build.SourcesDirectory) И $(Agent.BuildDirectory) — это лишь несколько переменных, которые можно использовать в конвейере. Переменные доступны в виде выражений или скриптов.

Сведения о различных типах переменных см. в статье Определение переменных, предопределенных переменных и переменных выпуска и артефактов классической модели.

Задача позволяет публиковать артефакты в задании развертывания в конвейере YAML, но я не могу использовать их в подчиненном конвейере?

Ответ. Задания развертывания не имеют контекста исходных ветвей и поэтому не подходят для публикации артефактов. Они в основном предназначены для использования артефактов. Обходной путь — изолировать эту логику в отдельном задании (с зависимостями от заданий развертывания).

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.199.0 или более поздней версии
Категория задач Служебная программа
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.199 или более поздней версии
Категория задач Служебная программа
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.159.2 или более поздней версии
Категория задач Служебная программа

См. также раздел