如何在 Intranet 上发布源代码 (Visual Studio)?

Posted

技术标签:

【中文标题】如何在 Intranet 上发布源代码 (Visual Studio)?【英文标题】:How can I publish source code (Visual Studio) on a intranet? 【发布时间】:2018-02-27 05:57:03 【问题描述】:

我在 VS2010 中有各种使用 TFS2008 管理的解决方案,我想将它们的代码发布到 Intranet 或“本地”网站上,以帮助无法访问 TFS 的开发人员查看和搜索代码。我知道 TFS 有一个 Web 界面(Visual Studio Team System Web Access)来查看代码,但是它很慢而且没有搜索选项。

还有其他更具体的工具可以在网站上发布和搜索 VisualStudio 项目/解决方案的代码吗?

【问题讨论】:

云? bitbucket 或 github 可能...都易于搜索。不排除您也将任何解决方案/项目添加到 git 或 mercurial 并发布它。如果您不想使用云,您甚至可以将您的主存储库放在文件共享上。但那有什么乐趣呢? Visual Studio Team Services 您的第一步应该是升级到最近内存中发布的 TFS 版本。与 TFS 2017 相比,TFS 2008 的功能极其有限。TFS 2008 不受支持,并且在同样不受支持的软件配置上运行。停留在过时的平台上是在自找麻烦。我想你会发现现代版本的 TFS 拥有你想要的内置功能。 @DanielMann:我们有升级 TFS 的计划,但我们的架构(分支)有点复杂,迁移起来很困难,我们做了很多测试,但我们丢失了信息(合并基线),无论如何在中期我们必须升级,但同时我们需要一个“非常简单”的工具来搜索网络中的代码。谢谢。 @Alexan,与 DanielMann 的最后一条评论相同,谢谢。 【参考方案1】:

您可以升级到最新的 TFS,代码搜索在 TFS 2017 中可用,详情请参阅Search your code。

但是,如果您使用 Git,则可以使用代码搜索工具 Hound:一个闪电般快速的代码搜索工具。

搜索基于 Russ Cox 的 Regular Expression Matching with a Trigram Index algorithm,由 Go 后端提供 到React 前端。

如果您的团队拥有许多和/或大型代码库并且可以从中受益 从统一、快速的搜索工具来看,Hound 值得一看。

您可以直接指定Git repoLocal Folder作为要搜索的数据源。

使用工具(Using Go Tools):

    安装Go 并创建您的工作区目录,默认为%USERPROFILE%\go

    运行cmd,C:\> cd %USERPROFILE%\go

    然后运行以下命令安装 Hound:

    go get github.com/etsy/hound/cmds/...

    在存在houndd.exe 的目录中创建一个config.json 文件(在%USERPROFILE%\go\bin 下),并添加您的存储库列表。例如:

    "dbpath" : "data", "repos" : "SomeGitRepo" : "url" : "http://server:8080/tfs/CollectionLC/_git/Git-Scrum" , "AnotherGitRepo" : "url" : "http://server:8080/tfs/CollectionLC/_git/Git-GlobalSettings", "ms-between-poll": 10000, "exclude-dot-files": true , "LocalFolder" : "url" : "file:///C:/Users/andy/LocalRepo"

    使用houndd 运行 Hound 服务器,您应该会看到类似的输出 到:

    2017/09/19 17:21:50 Searcher started for AnotherGitRepo 2017/09/19 17:21:54 Searcher started for LocalFolder 2017/09/19 17:21:55 Searcher started for SomeGitRepo 2017/09/19 17:22:07 merge 0 files + mem 2017/09/19 17:22:07 14299049 data bytes, 1781057 index bytes 2017/09/19 17:22:07 All indexes built! 2017/09/19 17:22:07 running server at http://localhost:6080...

    访问http://localhost:6080搜码

【讨论】:

感谢您的回复,这是一个非常好的回复,但我会等待更具体的工具,但我会将其标记为答案。 如果他们的源代码在 TFS 2008 中,他们显然没有使用 Git,所以这个答案大部分都不适用。 @DanielMann 答案适用于我(我已经完成了这个问题),我已经提到我需要一种发布和搜索代码的方法,这就是一种方法。您是否对问题和答案投反对票?我不明白为什么? @Marc 转换为 Git 如有必要,请使用 git-tfs,它是 TFS(Team Foundation Server)和 git 之间的双向桥梁。如果答案适用于您,您可以Accept it as an Answer,这可能对阅读此主题的其他社区成员有所帮助。

以上是关于如何在 Intranet 上发布源代码 (Visual Studio)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有可信 SSL 证书的情况下在 Intranet 中运行 PWA?

如何在 Intranet 中处理需要安全上下文的 Web 应用程序?

我正在尝试使用 Jmeter 在 Intranet 上记录应用程序,但我不断收到 DNS 失败消息

如何使用 python 从 Intranet 站点抓取 URL 数据?

VB .Net to PHP - 在 Intranet 上获取用户窗口登录

如何在 Plone 4.1.4 中向 intranet_workflow 添加更多自定义状态