У меня есть Azure Pipeline Self-Hosted Agent (Windows), который я настроил на одном из моих ноутбуков, поэтому все работает постоянно; конвейер, который использует это, клонирует репозиторий, а затем запускает конфигурацию CMake, которая дополнительно загружает несколько подмодулей через git submodule update --init
.
Хотя я думаю, что я настроил конвейер любым способом, каким мог, только для очистки выходных данных, поэтому двоичные файлы , а не исходники, при каждом новом запуске субмодули загружаются снова.
Я знаю, что он начинается с пустого репозитория, потому что в журнале шагов проверки я вижу:
git init "C:\agent\_work\3\s"
Initialized empty Git repository in C:/agent/_work/3/s/.git/
Я проверял здесь https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#job и установите для атрибута рабочего пространства чистое значение clean: outputs
.
Здесь отмечено https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#checkout и установите для атрибута извлечения чистое значение clean: false
.
У меня есть также контролировал, чтобы в конфигурации конвейера на веб-сайте не было активного атрибута clean.
Кажется, я вспоминаю где-то около 6 месяцев go или более (когда вместо этого было clean: binaries
), что это работал правильно.
Вот очень упрощенная версия того, как выглядит конвейер:
jobs:
- job: AJob
displayName: "A job"
pool: "Self Hosted"
workspace:
clean: outputs
steps:
- powershell: |
git config --global core.autocrlf false
git config --global core.symlinks true
- checkout: self
clean: false
- powershell: |
git submodule update --init <path to submodule>
РЕДАКТИРОВАТЬ: Добавить еще больше информации, включив отладочную переменную Для запуска я вижу это в журнале при инициализации задания:
##[debug]Delete existing build directory: 'C:\agent\_work\3' <---- why :\
##[debug]Deleting build directory: 'C:\agent\_work\3'
##[debug]Creating build directory: 'C:\agent\_work\3'
##[debug]Delete existing artifacts directory: 'C:\agent\_work\3\a'
##[debug]Creating artifacts directory: 'C:\agent\_work\3\a'
##[debug]Delete existing test results directory: 'C:\agent\_work\3\TestResults'
##[debug]Creating test results directory: 'C:\agent\_work\3\TestResults'
##[debug]Creating binaries directory: 'C:\agent\_work\3\b'
##[debug]Creating source directory: 'C:\agent\_work\3\s'
Кто-нибудь еще испытывает это и знает, как решить?