如何从内部部署TFS2015获取PAT

时间:2015-12-14 11:07:18

标签: tfs tfsbuild tfs2015

我们希望将自定义步骤从XAML构建迁移到TFS2015内部部署中的新构建任务。我安装了NodeJS和tfx-cli,但是当tfx-cli想要连接到TFS时,我需要提供pat(个人访问令牌),但我找不到我能得到它的地方。所有样本均适用于VSO,但不适用于内部部署TFS2015。是否可以从内部部署TFS2015获取PAT?

2 个答案:

答案 0 :(得分:15)

TFS 2015不支持个人访问令牌,此功能是在TFS 2017中引入的。与此同时,您需要配置基本身份验证并使用它(如果您的TFS服务器仅启用基本身份验证)正在运行SSL),或使用下面的技巧欺骗命令lien工具通过lettign验证NTLM代理(如Fiddler)为您处理auth。

如果您不想在TFS服务器上配置基本身份验证(由于安全问题,许多人不想要这样做),那么您可以使用一个巧妙的技巧让Fiddler处理您的身份验证:

enter image description here

然后输入:

C:\>set http_proxy=http://localhost:8888
C:\>tfx login --auth-type basic --service-url http://jessehouwing:8080/tfs/DefaultCollection

系统会提示您输入用户名和密码,输入的内容并不重要,fiddler会在后台为您处理身份验证:

More detailed steps outlined on my blog

如果您正在与自签名证书作斗争,这对于在本地TFS服务器上使用tfx时也是一个常见问题,请确保您使用的是最新版本的Node,并将其指向使用环境变量的aditional证书库:

  

从Node.js 7.3.0(以及LTS版本6.10.0和4.8.0)开始,现在可以使用环境变量向Node.js添加额外的已知证书。这在云或其他部署环境中可用于添加可信证书作为策略(与显式编码相对),或在个人计算机上添加,例如,为代理服务器添加CA.   见the CLI documentation for more information on using NODE_EXTRA_CA_CERTS, as well as the original pull-request.

     

NODE_EXTRA_CA_CERTS =文件#

     

添加于:v7.3.0

     

设定时,众所周知的" root" CA(如VeriSign)将使用文件中的额外证书进行扩展。该文件应包含一个或多个PEM格式的可信证书。如果文件丢失或格式错误,将使用process.emitWarning()发出一次消息(一次),否则将忽略任何错误。

     

请注意,在为TLS或HTTPS客户端或服务器显式指定ca options属性时,既不使用已知证书也不使用额外证书。

答案 1 :(得分:4)

tfx-cli还有另一个连接到TFS实例的选项,它是基本身份验证。只需使用以下格式:

tfx login --auth-type basic --username myuser --password mypassword --service-url http://tfscollectionurl

以下是Github的引用:

  

您也可以通过传递 - auth-type basic 来使用基本身份验证   (阅读Configuring Basic Auth)。 NTLM即将推出。

     

注意:使用此功能会将您的登录凭据存储在磁盘上   纯文本。