У меня есть сценарий сборки YAML в репозитории git, размещенном в Azure, который запускается через 7 агентов сборки, работающих на локальной виртуальной машине. Каждый раз, когда это запускается, сборка выполняет git clean, что занимает значительное время из-за большой node_modules
папки, очистка которой занимает много времени.
Страница MSDN здесь, кажется, предполагает, что это можно настроить, но не показывает подробностей о том, как это настроить. Я не могу сказать, следует ли указывать этот параметр в агенте, в сценарии YAML, в DevOps на конвейере или где.
Есть ли какая-то другая документация, которую мне не хватает, или это невозможно?
Обновление: начало файла YAML находится здесь:
variables:
BUILD_VERSION: 1.0.0.$(Build.BuildId)
buildConfiguration: 'Release'
process.clean: false
jobs:
###### ######################################################
###### 1 - Build and publish .NET
#############################################################
- job: net_build_publish
displayName: .NET build and publish
pool:
name: default
steps:
- script: echo $(BUILD_VERSION)
- task: DotNetCoreCLI@2
displayName: dotnet build $(buildConfiguration)
inputs:
command: 'build'
projects: |
myrepo/**/API/*.csproj
arguments: '-c $(buildConfiguration) /p:Version=$(BUILD_VERSION)'
Полный yaml намного длиннее, но вывод первого задания включает этот вывод в Checkout
задачу
Checkout myrepo@master to s
View raw log
Starting: Checkout myrepo@master to s
==============================================================================
Task : Get sources
Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version : 1.0.0
Author : Microsoft
Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
==============================================================================
Syncing repository: myrepo (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
git lfs version
git-lfs/2.11.0 (GitHub; windows amd64; go 1.14.2; git 48b28d97)
git config --get remote.origin.url
git clean -ffdx
Removing myrepo/Data/Core/API/bin/
Removing myrepo/Data/Core/API/customersettings.json
Removing myrepo/Data/Core/API/obj/
Removing myrepo/Data/Core/Shared/bin/
Removing myrepo/Data/Core/Shared/obj/
....
У нас есть еще одно задание, которое запускает npm install
и npm build
для проекта Angular, и каждая сборка в конвейере занимает 5 минут для выполнения шага установки npm, возможно, из-за этого git clean при получении репозитория?
steps: - checkout: self clean: false
или:- job: myJob workspace: clean: false
- person Shayki Abramczyk   schedule 30.09.2020