我们希望将自定义步骤从XAML构建迁移到TFS2015内部部署中的新构建任务。我安装了NodeJS和tfx-cli,但是当tfx-cli想要连接到TFS时,我需要提供pat(个人访问令牌),但我找不到我能得到它的地方。所有样本均适用于VSO,但不适用于内部部署TFS2015。是否可以从内部部署TFS2015获取PAT?
答案 0 :(得分:15)
TFS 2015不支持个人访问令牌,此功能是在TFS 2017中引入的。与此同时,您需要配置基本身份验证并使用它(如果您的TFS服务器仅启用基本身份验证)正在运行SSL),或使用下面的技巧欺骗命令lien工具通过lettign验证NTLM代理(如Fiddler)为您处理auth。
如果您不想在TFS服务器上配置基本身份验证(由于安全问题,许多人不想要这样做),那么您可以使用一个巧妙的技巧让Fiddler处理您的身份验证:
然后输入:
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即将推出。
注意:使用此功能会将您的登录凭据存储在磁盘上 纯文本。