在Ubuntu 18.04/Ubuntu 16.04 LTS上安装SourceGraph代码搜索工具
本教程用于在Ubuntu 18.04/Ubuntu 16.04 LTS上安装SourceGraph。
SourceGraph是一个快速,开源,功能齐全的代码搜索和导航引擎。
SourceGraph的功能
SourceGraph具有以下功能:快速全局代码搜索,其通过语言服务器协议Github,Gitlab,Phabricator和其他代码主机和代码审查工具将Trigram索引与内存流逻辑智能相结合的混合后端。
通过SourceGraph浏览器通过SourceGraph Extension API与第三方开发人员工具的浏览器延伸构件
在Ubuntu 18.04/Ubuntu 16.04 LTS上安装SourceGraph代码搜索工具
在Ubuntu 18.04和Ubuntu 16.04 LTS上运行SourceGraph有两种方法。
在本地系统上运行DockerInstalling SourceGraph的SourceGraph
我们将在本教程中使用的方法正在Docker中运行SourceGraph,这是最简单和推荐的。
第1步:安装Docker引擎
我们需要在系统上安装和运行Docker引擎,使用我们的Docker安装教程如何在Ubuntu/debian/fedora/arch/centos上安装Docker CE
我们可以使用命令查看Docker的已安装版本:
# docker version Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:24:51 2016 OS/Arch: linux/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:23:15 2016 OS/Arch: linux/amd64 Experimental: false
第2步:启动SourceGraph容器
码头运行后,我们可以通过在终端上执行以下命令启动SourceGraph容器(不推荐方法;使用Systemd)
docker run --publish 7080:7080 --rm \ --volume ~/.sourcegraph/config:/etc/sourcegraph \ --volume ~/.sourcegraph/data:/var/opt/sourcegraph \ --volume /var/run/docker.sock:/var/run/docker.sock \ sourcegraph/server
使用SystemD管理SourceGraph(推荐)
可以使用SystemD管理SourceGraph Docker容器。
创建服务单元文件 /etc/systemd/system/sourcegraph.service
添加以下内容:
[Unit] Description=Sourcegraph code search and navigation engine Documentation=https://about.sourcegraph.com/docs After=network-online.target Wants=network-online.target [Service] Restart=on-failure TimeoutStartSec=5 ExecStartPre=-/usr/bin/docker kill sourcegraph ExecStartPre=-/usr/bin/docker rm sourcegraph ExecStart=/usr/bin/docker run \ --name sourcegraph \ -p 7080:7080 \ -v /var/sourcegraph/config:/etc/sourcegraph \ -v /var/sourcegraph/data:/var/opt/sourcegraph \ -v /var/run/docker.sock:/var/run/docker.sock \ sourcegraph/server ExecStop=-/usr/bin/docker kill sourcegraph ExecStop=-/usr/bin/docker rm sourcegraph
使用Docker选项: --name sourcegraph
:容器的名称 -p 7080:7080
:将主机上的PORT 7080映射到容器上的端口7080 -v /var/sourcegraph/config:/etc/sourcegraph
:存储SourceGraph配置文件的卷映射 -v /var/sourcegraph/data:/etc/sourcegraph:
存储SourceGraph数据的卷映射 - PostgreSQL,Redis和存储库数据。
当SourceGraph准备就绪时,访问访问Web界面。 http://serverip:7080
在第一次访问时,系统会提示我们创建管理员帐户。
第3步:添加存储库
例如,我们将为SourceGraph添加GitHub存储库。
为此,我们需要从https://github.com/settings/tokens/new创建一个新的访问令牌。
给出令牌的名称和访问权限。
repo范围应该足以让SourceGraph访问并克隆GitHub帐户上的存储库。
确保在创建后复制新的个人访问令牌,因为我们将无法再次查看它!
有GitHub令牌ID,登录SourceGraph仪表板并导航到Admin>配置>添加GitHub.com存储库。
在令牌引号部分下添加令牌ID并保存更改。
"token": "9bc5a980e443373b9ffd5e46e7dce3cbe863021b"
经过一短暂的,GitHub存储库应出现在存储库部分下方但已禁用。
启用这些存储库以开始搜索它们。