Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git repo的docker容器克隆中的Azure DevOps/TFS$(SYSTEM.ACCESSTOKEN)_Docker_Azure Devops_Azure Pipelines - Fatal编程技术网

git repo的docker容器克隆中的Azure DevOps/TFS$(SYSTEM.ACCESSTOKEN)

git repo的docker容器克隆中的Azure DevOps/TFS$(SYSTEM.ACCESSTOKEN),docker,azure-devops,azure-pipelines,Docker,Azure Devops,Azure Pipelines,我有个问题。我们正在docker容器中运行build on build agent。Maven插件发布:准备需要克隆repo。当它这样做时,它就失败了。因此,我已将$(SYSTEM.ACCESSTOKEN)作为名为“TFS_ACCESSTOKEN”(添加了附加参数-e TFS_ACCESSTOKEN=“$(SYSTEM.ACCESSTOKEN)”)的环境变量传递到容器中,并运行此 git config --global http.extraheader "AUTHORIZATION: beare

我有个问题。我们正在docker容器中运行build on build agent。Maven插件发布:准备需要克隆repo。当它这样做时,它就失败了。因此,我已将$(SYSTEM.ACCESSTOKEN)作为名为“TFS_ACCESSTOKEN”(添加了附加参数-e TFS_ACCESSTOKEN=“$(SYSTEM.ACCESSTOKEN)”)的环境变量传递到容器中,并运行此

git config --global http.extraheader "AUTHORIZATION: bearer ${TFS_ACCESSTOKEN}"
当插件运行clone时,它仍然要求提供用户名,但失败了。 我已将管道更改为将访问令牌输出为base64,并将睡眠设置为1h。 解码令牌,然后转到另一台机器并手动重复这些步骤所有工作。步骤如下:

git config --global http.extraheader "AUTHORIZATION: bearer <decoded-token>"
git clone https://tfs-server/repo-path
git config--global http.extraheader“AUTHORIZATION:bearer”
git克隆https://tfs-server/repo-path
我想知道为什么令牌可以在两台不同的机器上工作,而不能在一个容器中工作


我注意到机器具有相同的/etc/machine-id。我已将卷添加到docker容器,但它仍然不起作用。

您需要在
$()
中包装TFS\u ACCESSTOKEN以引用它,而不是
${}

尝试在您的git命令下更改

git config --global http.extraheader "AUTHORIZATION: bearer ${TFS_ACCESSTOKEN}"


问题只是因为Docker容器有一个非常旧的git版本(1.8.3),而
http.extraheader
是在2.1.*中引入的(如果我没有弄错的话)。

应该是
$(TFS_ACCESSTOKEN)
?@4c74356b41我已经更新了我的问题。简而言之,是的,我将$(SYSTEM.ACCESSTOKEN)作为名为“TFS\u ACCESSTOKEN”的环境变量传递
git config --global http.extraheader "AUTHORIZATION: bearer $(TFS_ACCESSTOKEN)"