Visual Studio Online上的主机bower组件

Ric*_*ect 4 git tfs bower azure-devops

问题:
我尝试做的是在visual studio上在线托管一个凉亭组件.然而,这似乎不可能像我尝试这样做.

我已经创建了一个bower组件,并使用Brian Ford的教程将其检入到Visual Studio在线.这个凉亭组件现在安全地驻留在我的visual studio git项目中.但是,当我尝试做的时候:

bower install https://myAccount.visualstudio.com/DefaultCollection/_git/bower-component    
Run Code Online (Sandbox Code Playgroud)

它把东西放在bower_components文件夹中,但这不是我在网上推送到visual studio的bower组件.在bower_components文件夹中有一个bower.json,有一些不正确的值和一个"索引"文件,没有文件扩展名.当我在编辑器中打开这个"索引"文件时,它看起来像是visual studio online的登录页面.

对我来说,似乎问题是在线连接到visual studio时的身份验证.

我试过了:

  • 要使用git凭证存储,但在尝试下载bower组件时似乎没有任何效果.
  • 我还尝试使用"private-bower",在线注册visual studio作为代理,使用visual studio online的替代用户名和密码.但是,无法在线注册visual studio的URL,因为private-bower仅支持git:// URL.

有没有人有尝试使用Visual Studio在线或任何团队基础服务器的经验?或者有没有人有这个问题的其他可能的解决方案?

mit*_*tch 7

*2016年6月更新

TFS 2015(截至更新3)现在支持SSH连接到Git repos.git+https://Bower可能不再需要使用它来检索代码,但需要对您进行一些测试.


原始回应

我上周深入研究并发现了一些有趣的发现.解决方法,以及TFS中发现的可能错误.我研究了TFS的内部部署版本,但它仍然适用.

对于初学者,您将需要使用HTTPS连接到您的TFS实例.Bower从HTTPS源中提取时,将提示传递给TFS的凭据.然后,由于TFS无法识别.gitBower也希望从在线Git存储库中获得的" "后缀,因此您需要调整协议.

bower install git+https://tfs.domain.com/tfs/Collection/_git/MyComponent
Run Code Online (Sandbox Code Playgroud)

这应该足以让Bower与TFS对话并拉动组件.您需要在运行时输入凭据,除非您觉得将它们放在URL本身(我不愿意).


现在,如果您使用版本标记提交(正如您希望的那样,正确地对组件进行版本化),那么您将遇到问题.正如你所注意到的那样,TFS似乎与标签不太匹配.如果你这样做,当bower运行结账时,TFS中会抛出一个错误.

InvalidCastException: Unable to cast object of type 'Microsoft.TeamFoundation.Git.Server.TfsGitTag' to type 'Microsoft.TeamFoundation.Git.Server.TfsGitCommit'.
Run Code Online (Sandbox Code Playgroud)

我发现这是在http://tfs.domain.com:8080/tfs/_oi查看管理日志.

如果我试图检查一个我没有标记任何提交的bower组件,那么事情就会成功.

此信息也发布在MSDN论坛上.