Azure开发人员-git repo同步

时间:2019-12-04 16:41:01

标签: git azure-devops azure-pipelines azure-powershell

我在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)成功完成。

1 个答案:

答案 0 :(得分:1)

请尝试使用以下推送脚本,该脚本在git命令中使用attached PAT令牌来授权操作:

git push https://{PAT}@dev.azure.com/{org name}/{project name}/_git/{repos name} master

使用此命令并替换原始的git remote add origingit push

更新:

为了使您更清楚地了解如何将其应用于任务中,我将其复制出来。

注意:不需要更改原始的第一Command line taskPowershell 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 中替换上面的脚本。