git – Visual Studio Online上的主机bower组件

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

我已经创建了一个凉亭组件,并使用Brian Ford的教程将其检入在线视觉工作室.这个凉亭组件现在安全地存放在我的视觉工作室git项目中.但是,当我尝试做的时候:

bower install https://myAccount.visualstudio.com/DefaultCollection/_git/bower-component

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

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

我试过了:

>要使用git credentials store,但在尝试下载割草机组件时似乎没有任何效果.
>我还尝试使用“private-bower”,在线注册视觉工作室作为代理,使用Visual Studio在线的替代用户名和密码.但是,无法在线注册visual studio的URL,因为private-bower仅支持git:// URL.

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

* 2016年6月更新

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

原始回应

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

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

bower install git+https://tfs.domain.com/tfs/Collection/_git/MyComponent

这应该足以让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'.

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

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

此信息也发布于MSDN Forums.

相关文章
相关标签/搜索