【发布时间】:2016-12-04 20:22:48
【问题描述】:
[环境:团队服务、GIT、托管构建代理]
我想创建一个能够执行以下操作的 Team Services 构建定义:
执行脚本以根据 repo 中的现有文件生成一些新文件
将这些生成的文件提交/推送回 repo
我可以毫无问题地做#1。但我不确定我该怎么做#2。
我发现我实际上能够从构建作业中运行 git.exe。但我不确定如何将凭证传递给 git。根据构建日志,它失败了,因为它试图从标准输入获取用户名。
我尝试在构建定义中添加一个类似“git config --global user.name xxxx”的步骤,但它仍然没有帮助。
这是一个受支持的方案吗?有什么建议吗?
谢谢!
编辑
我在构建脚本中尝试了以下方法:
git -c http.extraheader="AUTHORIZATION: bearer %SYSTEM_ACCESSTOKEN%" pull ...
它似乎适用于 pull 等命令。但是当我尝试推送更改时,出现以下错误:
fatal: unable to access 'https://example.visualstudio.com/SampleTeam/_git/SampleRepo/': SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
想法?
【问题讨论】:
-
想法:https 不需要凭证来读取回购(克隆/拉取)是回购是公开的。写入回购的问题仍然相同。因此我的回答如下。
-
添加
-c http.extraheader部分是为我解决的问题。据我所知,Microsoft 文档并没有说要这样做。
标签: git azure-devops azure-pipelines