Очистить все каталоги сборки в настройках Azure DevOps Pipeline не работает при использовании конфигурации YAML - PullRequest
0 голосов
/ 08 мая 2020

Я использую Azure DevOps в течение некоторого времени, и я всегда использую Classi c Editor GUI при создании Build Pipeline. Теперь я пытаюсь создать новый конвейер с помощью YAML. Все прошло хорошо, и сборка прошла успешно. Но я заметил другое поведение в задаче оформления заказа по сравнению с конвейером с использованием Classi c Editor. В обоих конвейерах настройки, используемые на вкладке «Получить источники», одинаковы (см. Снимок экрана ниже)

enter image description here

В случае Classi c конвейер редактирования , задача проверки Удаляет и воссоздает $(Agent.BuildDirectory). Это приводит к инициализации нового локального репозитория Git для каждой сборки. Но для конвейера YAML задача проверки выполняет только git clean -ffdx и удаляет только исходные каталоги. Как решить эту проблему для конвейеров YAML?

Журнал конвейера YAML:

enter image description here

Classi c Журнал конвейера редактора:

enter image description here

Ответы [ 2 ]

1 голос
/ 12 мая 2020

Настройка параметра очистки всех каталогов сборки (на скриншоте ниже) в пользовательском интерфейсе DevOps не работает в случае сборок YAML.

enter image description here

Но вы можете укажите это в самом файле YAML, используя настройку рабочей области задания. Это работает, как ожидалось.

jobs:
- job: Job1
  workspace:
    clean: all # what to clean up before the job runs - outputs | resources | all
1 голос
/ 08 мая 2020

Это действительно странно, потому что у меня есть это (в сборке YAML)

enter image description here

Я нашел это в документации :

Если для параметра clean установлено значение true, конвейер сборки выполняет отмену любых изменений в $(Build.SourcesDirectory). Более конкретно, следующие команды Git выполняются перед выборкой источника.

git clean -ffdx
git reset --hard HEAD

Включена ли у вас опция очистки?

...