Со вчерашнего дня я заметил значительное снижение производительности при выполнении некоторых задач в моем конвейере, которые запускают сценарии PowerShell: то, что раньше занимало секунду или меньше, теперь занимает около 30 секунд.
В сценарий внутри задачи не было внесено никаких изменений, и, судя по временной шкале из журналов, сценарий выполняется с той же скоростью, что и раньше, кажется, что загрузка самой задачи занимает больше времени.
Посмотрите, сколько времени это занимает, в журнале ниже раздела «Генерация сценария».
2023-09-22T11:37:41.8526876Z ##[section]Starting: Get latest build id
2023-09-22T11:37:41.8656716Z ==============================================================================
2023-09-22T11:37:41.8656891Z Task : PowerShell
2023-09-22T11:37:41.8656960Z Description : Run a PowerShell script on Linux, macOS, or Windows
2023-09-22T11:37:41.8657094Z Version : 2.228.0
2023-09-22T11:37:41.8657162Z Author : Microsoft Corporation
2023-09-22T11:37:41.8657247Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
2023-09-22T11:37:41.8657393Z ==============================================================================
2023-09-22T11:38:19.5788471Z Generating script.
2023-09-22T11:38:21.4712306Z ========================== Starting Command Output ===========================
2023-09-22T11:38:21.4999099Z ##[command]"C:\Program Files\PowerShell\7\pwsh.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a\_temp\29d29486-b5d7-4487-be00-e0187e860ff8.ps1'"
2023-09-22T11:38:29.5517463Z Resolve PAT
2023-09-22T11:38:32.0041258Z Get definitionid
2023-09-22T11:38:32.0048080Z https://dev.azure.com/mycompany/myapp/_apis/build/definitions?name=CreditReference&api-version=7.1-preview.7
2023-09-22T11:38:56.9989185Z definitionId: 9668
2023-09-22T11:38:57.0015076Z https://dev.azure.com/mycompany/myapp/_apis/build/builds?definitions=9668&resultFilter=succeeded&api-version=7.1-preview.7
2023-09-22T11:38:57.9464070Z Found 1 versions
2023-09-22T11:38:57.9544224Z 245699 - 4/21/2023 8:20:05 AM
2023-09-22T11:39:02.8780176Z ##[section]Finishing: Get latest build id
И сравните это с тем, что было пару дней назад:
2023-09-20T11:03:43.2781737Z ##[section]Starting: Get latest build id
2023-09-20T11:03:43.3036843Z ==============================================================================
2023-09-20T11:03:43.3036985Z Task : PowerShell
2023-09-20T11:03:43.3037045Z Description : Run a PowerShell script on Linux, macOS, or Windows
2023-09-20T11:03:43.3037135Z Version : 2.226.2
2023-09-20T11:03:43.3037189Z Author : Microsoft Corporation
2023-09-20T11:03:43.3037261Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
2023-09-20T11:03:43.3037360Z ==============================================================================
2023-09-20T11:03:45.1817132Z Generating script.
Кстати, изменение сценария для выполнения с помощью Powershell Core вместо Powershell немного улучшило время, необходимое для выполнения, но все равно значительно медленнее.
Я заметил, что версия PowerShell@2 изменилась с 2.226.2 два дня назад на 2.228.0.
Есть ли способ указать, какую версию PowerShell@2 использовать?





Вы можете выбрать конкретную версию в задаче
steps:
- task: [email protected]
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
Get-Host
Это очень полезно. К сожалению, оказывается, что откат версии не восстанавливает предыдущую производительность, поэтому мне нужно будет изучить этот вопрос дальше, но ваш ответ позволил мне поэкспериментировать с этим, спасибо!