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-
на всех ключах.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Публикация не поддерживается в классических конвейерах выпуска.
Примечание.
Публикация артефактов конвейера не поддерживается в локальной среде. Используйте публикации артефактов сборки, если вы используете 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 для управления публикацией файлов.
У меня возникли проблемы с публикацией артефактов. Как просмотреть подробные журналы?
Чтобы включить подробные журналы для конвейера, выполните приведенные ниже действия.
- Изменение конвейера и выбор переменных
- Добавьте новую переменную с именем
System.Debug
и значениемtrue
- Сохранить
Какие переменные доступны мне?
Ответ. $(Build.SourcesDirectory)
и $(Agent.BuildDirectory)
— это всего лишь несколько переменных, которые можно использовать в конвейере. Переменные доступны в виде выражений или скриптов.
Сведения о различных типах переменных см. в статье Определение переменных, предопределенных переменныхи классических переменных и артефактов.
Задача позволяет публиковать артефакты в задании развертывания в конвейере yaml, но я не могу использовать его в нижнем конвейере?
Ответ. Задания развертывания не имеют контекста исходных ветвей и поэтому не подходят для публикации артефактов. Они были в основном предназначены для использования артефактов. Решением будет изоляция этой логики в отдельном задании (с зависимостями заданий развертывания).
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.199.0 или более поздней версии |
Категория задач | Полезность |
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.199 или более поздней версии |
Категория задач | Полезность |
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.159.2 или более поздней версии |
Категория задач | Полезность |
См. также
- Хотите приступить к работе с артефактами сборки? См . артефакты в Azure Pipelines.