我们希望将自定义步骤从XAML构建迁移到TFS2015内部部署的新构建任务.我安装了NodeJS和tfx-cli,但是当tfx-cli想要连接到TFS时,我需要提供pat(个人访问令牌),但我找不到我能得到它的地方.所有样本均适用于VSO,但不适用于内部部署TFS2015.是否可以从内部部署TFS2015获取PAT?
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会在后台为您处理身份验证:
我的博客上列出了更详细的步骤.
如果您正在与自签名证书作斗争,这也是在对内部部署TFS服务器使用tfx时的常见问题,请确保使用最新版本的Node并使用环境变量将其指向aditional证书库:
从Node.js 7.3.0(以及LTS版本6.10.0和4.8.0)开始,现在可以使用环境变量向Node.js添加额外的已知证书.这在云或其他部署环境中可用于添加可信证书作为策略(与显式编码相对),或在个人计算机上添加,例如,为代理服务器添加CA. 有关使用NODE_EXTRA_CA_CERTS以及原始pull-request的更多信息,请参阅CLI文档.
NODE_EXTRA_CA_CERTS =文件#
添加于:v7.3.0
设置后,众所周知的"根"CA(如VeriSign)将使用文件中的额外证书进行扩展.该文件应包含一个或多个PEM格式的可信证书.
process.emitWarning()
如果文件丢失或格式错误,将发出一次消息(一次),否则将忽略任何错误.请注意,在为TLS或HTTPS客户端或服务器显式指定ca options属性时,既不使用已知证书也不使用额外证书.