Пользовательская задача Azure DevOps имеет раздел "Удовлетворяет", но не удовлетворяет требованиям

Я пытаюсь запустить сборку, не имея уже установленного Maven непосредственно на собственном агенте ADO. Я хотел бы иметь возможность выполнить установку Maven за меня И удовлетворить требования спроса, которые есть в некоторых сборках. (Для сборок требуется Maven, но агент не установил Maven до выполнения задачи.)

В задаче установщика Maven у меня есть раздел, который выглядит так:

“satisfies”: [
“maven”
],

В репозитории Microsoft есть задачи, которые имеют тот же тег, что и выше, но для разных программ. Пожалуйста, посмотрите эти репозитории:

(Это репо удовлетворяет требованиям DotNetCore) https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV1/task.json

(Это репо удовлетворяет требованиям Java и JDK) https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/JavaToolInstallerV0/task.json

Задачи Microsoft с разделом удовлетворяет требованиям, а мои - нет.

Я предполагаю, что раздел «Удовлетворение» будет удовлетворять потребности определенных трубопроводов. Верно ли это предположение? Или кто-нибудь знает, для чего нужен раздел удовлетворения ??


person JF2357    schedule 18.03.2021    source источник


Ответы (1)


Я думаю, что раздел требований, а не раздел удовлетворяет потребности конвейера.

Вот пример кода из tasks.schema.json требований, и в описании сказано, что

В этом разделе определяется список требований, которые требуются агенту сборки для выполнения этой задачи сборки.

"demands": {
  "type": "array",
  "description": "Allows you to define a list of demands that a build agent requires to run this build task.",
  "items": {
    "type": "string"
  }
},
person Jane Ma-MSFT    schedule 22.03.2021
comment
Я думаю, что в разделе требований перечислены требования, которые задача требует от агентов. Тем не менее, я хочу удовлетворить задачу, которая требует от агента и выполнит эту задачу, просто выполнив задачу. EX: 1) Task requires Maven to be on Agent. 2) Agent does not have Maven installed. 3) Task has satisfies section listing Maven, Task will also install Maven on the agent 4) ADO chooses Agent that does not have Maven and then Task installs Maven satisfying the demand. Надеюсь, это имеет смысл! - person JF2357; 22.03.2021