Вполне возможно, полностью следовать этому плану действий , задавать вопросы, если таковые имеются.
- Перед преобразованием файла и сразу после извлечения добавьте сценарий bash со следующим встроенным кодом:
git checkout $(Build.SourceBranchName)
Каким бы преобразованием вы ни занимались, обработайте его в Python и проверьте его с помощью встроенного bash script шага в конвейере следующим образом:
cat README.md
Если вы видите ожидаемое состояние вашего README.md
файла в журналах конвейера, затем просто добавьте второй встроенный скрипт bash следующим образом:
git add README.md
git config --global user.name "$(Build.RequestedFor)"
git config --global user.email "$(Build.RequestedForEmail)"
git commit -m "$(Build.BuildId)"
git push origin $(Build.SourceBranchName)
Предварительные условия :
- Вам необходимо , чтобы включить использование токена OAuth для вашего конвейера, это аутентифицирует операцию pu sh обратно в ваше Git репо. Для конвейеров YAML необходимо добавить явный шаг Checkout в качестве первого шага с параметром persistCredentials , установленным в true , например,
- checkout: self
persistCredentials: true
Операция pu sh будет использовать разрешения
удостоверения службы построения , области проекта или коллекции. Эти удостоверения
не не имеют
Contribute generi c разрешений по умолчанию, поэтому вам необходимо предоставить их им. К вашему сведению, эти идентификаторы используются в
всех ваших конвейеров в Azure DevOps. Ваши имена имеют следующие имена:
Область организации: Служба сборки коллекций проектов ( {OrgName} )
Область проекта: {Имя проекта} Служба сборки ( {Имя организации} )
Предоставьте им разрешение Contribute в Настройках проекта -> Хранилища
Бывший Azure DevOps и инженер поддержки GitHub. Я извлекаю Python из инструкции для шагов commit и pu sh, хотя, возможно, это будет определенно труднее устранить, чем Bash.