在Azure YAML管道内设置GIT凭据 [英] Set git credentials inside a Azure yaml pipeline
本文介绍了在Azure YAML管道内设置GIT凭据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一个Azure YAML管道,它必须执行"git推送"才能执行repo,所以,我已经在CmdLine@2任务中编写了我的git命令。类似以下内容:
git checkout -b foo-branch-$(Build.BuildId)
git add myGeneratedFile
git commit -m "My commit message"
git config user.email "$(GitUserName)@foo.com"
git config user.name "$(GitUserName)"
git push --set-upstream origin feature/foo-branch-$(Build.BuildId)
显然,此代码不起作用,因为没有在任何地方设置git凭据。如何指定命令?
我的想法是从类似于$(GitUserName)的参数或从GIT机密中读取它们。
是否有什么参数可以隐藏,以避免在日志中以及在用户键入时显示值?
推荐答案
根据您的最新Commnet,选项允许脚本访问OAuth令牌仅存在于经典编辑器中。
在YAML管道中,您可以使用以下命令:
- checkout: self
persistCredentials: true
persistCredentials
将在初始获取后将OAuth内标识保留在Git配置中。
示例如下:
steps:
- checkout: self
persistCredentials: true
- script: |
git config --global user.email "email"
git config --global user.name "Kevin Lu"
git checkout -b master
git add .
git commit -m "My commit message"
git push origin HEAD:master
displayName: 'Command Line Script'
有关更多详细信息,请参阅this doc。
更新E2:
要解决此权限问题,您需要将参与者权限授予Project Settings -> Repositories -> Target Repo -> Permission
中的服务帐户:Projectname Build Service(OrganizationName)
。
更新3:
这篇关于在Azure YAML管道内设置GIT凭据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文