如何通过sourcegraph实现代码仓库的高效全局搜索?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1304个文字,预计阅读时间需要6分钟。
前言:随着业务扩展和员工的增长,GitLab代码仓库的数量越来越多。一方面,积累了一些优秀的代码,另一方面,也积累了大量的代码历史和技术债务。随着员工的更迭,无论是优化代码还是积累技术债,都显得尤为重要。
前言企业里随着业务以及人员的扩张,GitLab代码仓库的数量越来越多,一方面沉淀积累了一些优秀代码,另一方面也积攒了一些代码历史技术债务,随着人员的更迭,无论是优秀代码或是技术债务,都没能很好的传承下来,虽然都在代码仓库里,但后来的人却很难感知到这些代码的存在,这个时候就需要一个全局代码仓库搜索的能力来解决这些问题,全局代码搜索系统可用于如下场景:
- 域名/redis/mysql等资源下线,需要排查历史哪些服务使用过
- 某些依赖包的某些版本存在风险,需要进行升级治理
- 由于基础框架/中间件代码升级,需要排查梳理出依赖的服务进行推动升级
- 排查某AK/密码等信息是否被明文写到代码里
- 某个功能点之前有其他业务同学实现过,想参考下代码写法
上面的这些场景在企业里几乎都似曾相识,那么排查出这些关联的仓库就成了一个很重要的步骤,目前大部分公司都是使用的社区版GitLab,是不具备这种搜索能力的,所以这里借助一些开源的系统来实现。
实现方式现在具备全局代码搜索功能的开源产品比较多,例如:sourcegraph、searchcode、kooder、hound等,众多代码搜索系统使用下来,个人还是觉得sourcegraph是功能最强大以及稳定的,下面就来介绍下具体的搭建方法。
本文共计1304个文字,预计阅读时间需要6分钟。
前言:随着业务扩展和员工的增长,GitLab代码仓库的数量越来越多。一方面,积累了一些优秀的代码,另一方面,也积累了大量的代码历史和技术债务。随着员工的更迭,无论是优化代码还是积累技术债,都显得尤为重要。
前言企业里随着业务以及人员的扩张,GitLab代码仓库的数量越来越多,一方面沉淀积累了一些优秀代码,另一方面也积攒了一些代码历史技术债务,随着人员的更迭,无论是优秀代码或是技术债务,都没能很好的传承下来,虽然都在代码仓库里,但后来的人却很难感知到这些代码的存在,这个时候就需要一个全局代码仓库搜索的能力来解决这些问题,全局代码搜索系统可用于如下场景:
- 域名/redis/mysql等资源下线,需要排查历史哪些服务使用过
- 某些依赖包的某些版本存在风险,需要进行升级治理
- 由于基础框架/中间件代码升级,需要排查梳理出依赖的服务进行推动升级
- 排查某AK/密码等信息是否被明文写到代码里
- 某个功能点之前有其他业务同学实现过,想参考下代码写法
上面的这些场景在企业里几乎都似曾相识,那么排查出这些关联的仓库就成了一个很重要的步骤,目前大部分公司都是使用的社区版GitLab,是不具备这种搜索能力的,所以这里借助一些开源的系统来实现。
实现方式现在具备全局代码搜索功能的开源产品比较多,例如:sourcegraph、searchcode、kooder、hound等,众多代码搜索系统使用下来,个人还是觉得sourcegraph是功能最强大以及稳定的,下面就来介绍下具体的搭建方法。

