Ошибка со сценарием командной строки в конвейере Azure DevOps

#azure #azure-devops #microsoft-dynamics #azure-devops-pipelines #power-platform

#azure #azure-devops #microsoft-dynamics #azure-devops-pipelines #power-платформа

Вопрос:

Я создаю свой первый конвейер, используя инструменты сборки Power Platform. Я пытаюсь экспортировать приложение, управляемое динамической моделью, в репозиторий. Я получаю сообщение об ошибке в моем сценарии командной строки. Ниже приведен журнал ошибок:

 2021-01-21T08:48:04.6191345Z ##[section]Starting: Command Line Script
2021-01-21T08:48:04.6292483Z 
==============================================================================
2021-01-21T08:48:04.6292831Z Task         : Command line
2021-01-21T08:48:04.6293131Z Description  : Run a command line script using Bash on Linux and macOS 
and cmd.exe on Windows
2021-01-21T08:48:04.6293422Z Version      : 2.178.0
2021-01-21T08:48:04.6293630Z Author       : Microsoft Corporation
2021-01-21T08:48:04.6293952Z Help         : 
https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
2021-01-21T08:48:04.6294293Z 
==============================================================================
2021-01-21T08:48:05.7216764Z error: pathspec 'master' did not match any file(s) known to git
2021-01-21T08:48:05.7217182Z Generating script.
2021-01-21T08:48:05.7217463Z ========================== Starting Command Output 
===========================
2021-01-21T08:48:05.7217952Z ##[command]"C:windowssystem32cmd.exe" /D /E:ON /V:OFF /S /C "CALL 
"D:a_temp93c0ac5e-da28-4265-b4d0-4326b5f38209.cmd""
2021-01-21T08:48:05.7218457Z commit all changes
2021-01-21T08:48:05.7218642Z push code to new repo
2021-01-21T08:48:05.7226781Z fatal: pathspec '-' did not match any files
2021-01-21T08:48:05.7227220Z error: pathspec 'export"' did not match any file(s) known to git
2021-01-21T08:48:06.2395991Z git: 'bearer' is not a git command. See 'git --help'.
2021-01-21T08:48:06.2983259Z ##[error]Cmd.exe exited with code '1'.
2021-01-21T08:48:06.3323471Z ##[section]Finishing: Command Line Script
 

Основываясь на этом выводе, я не знаю, чего не хватает.

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Просто взглянув на сообщения об ошибках, можно предположить, что что-то не так с командами git, скорее всего, с ветвями git. Не могли бы вы предоставить несколько примеров сценариев вашего yaml (или несколько относительных скриншотов ваших задач, если вы используете классический конвейер пользовательского интерфейса)? Чтобы люди могли продолжить изучение вопроса.

2. @JaneMa-MSFT. Я использую классический пользовательский интерфейс. Я загрузил скриншот задач, которые я использую.

3. Прошу прощения за мой поздний ответ. Пожалуйста, проверьте, может ли мой ответ ниже помочь вам, и не стесняйтесь комментировать.

Ответ №1:

Согласно вашим скриншотам, ваша ветка по умолчанию — «main», а не «master».

введите описание изображения здесь

master Не соответствует ни одной ветви, известной git, поэтому задача не выполнена.

Кроме того, вам необходимо использовать origin/{branch} вместо {branch} . Поскольку ветвь является удаленной ветвью.

Ответ №2:

Ошибка со сценарием командной строки в конвейере Azure DevOps

Это может быть связано с тем, что ваша команда git имеет неправильный синтаксис.

Согласно предоставленному вами изображению, мы могли бы узнать, какую командную строку git вы использовали:

введите описание изображения здесь

Это неправильный синтаксис для добавления всех файлов, что также является причиной появления ошибки:

 fatal: pathspec '-' did not match any files
 

Если я использую тот же синтаксис git add —— all , я получу то же сообщение об ошибке.

Чтобы устранить эту ошибку, попробуйте использовать следующий правильный синтаксис:

 git add --all
 

Кроме того, мы не смогли использовать AUTHORIZATION:BEARER с $(system.AccessToken) , вам нужно использовать Authorization: Basic с Base64-encode:

Пожалуйста, проверьте этот поток для получения более подробной информации.

Это причина, по которой вы получаете ошибку git: 'bearer' is not a git command. .

Чтобы решить эту проблему, вы можете использовать командную строку git с помощью PAT напрямую для отправки файлов:

 git push https://<Your PAT>@dev.azure.com/<YourOrganization>/<YourProject>/_git/MyTestProject HEAD:master
 

Кроме того, то, что сказала Джейн, является еще одной проблемой.