我在azure devops中创建了一个管道,并按以下顺序添加了三个任务:
1)命令行任务
2)Powershell任务
3)命令行任务
任务1)
git config --global user.email "xxx@xx.com"
git config --global user.name "xxxx"
cd $(Build.SourcesDirectory)
git init
任务2)Powershell任务
任务3)
git add filename.csv
git commit -m "csv file update"
git remote rm origin
git remote add origin https://OrgName@dev.azure.com/OrgName/ProjectName/_git/RepoName
git push -u origin HEAD:master
我在其他订阅中使用了该解决方案,没有问题。我将解决方案移到了第二个订阅,但仍然遇到问题:fatal: could not read Password for https://OrgName@dev.azure.com/OrgName/ProjectName/_git/RepoName: terminal prompts disabled[error]Cmd.exe exited with code 128
我已使用此MS documentation配置了仓库 任务3)出了点问题。 任务1)和任务2)成功完成。
答案 0 :(得分:1)
请尝试使用以下推送脚本,该脚本在git命令中使用attached PAT令牌来授权操作:
git push https://{PAT}@dev.azure.com/{org name}/{project name}/_git/{repos name} master
使用此命令并替换原始的git remote add origin
和git push
。
更新:
为了使您更清楚地了解如何将其应用于任务中,我将其复制出来。
注意:不需要更改原始的第一Command line task
和Powershell task
,以下更改仅在第二 {{1 }}:
Command line task
当我们在git命令中应用令牌时,需要更改整个脚本。请在第二个git checkout $(Build.SourceBranchName)
git add .
git commit -m "aaaa"
git push https://{token}@dev.azure.com/{org name}/{project name}/_git/{repos} master
中替换上面的脚本。