在Ubuntu 18.04/Ubuntu 16.04 LTS上安装SourceGraph代码搜索工具

时间:2020-02-23 14:39:19  来源:igfitidea点击:

本教程用于在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存储库应出现在存储库部分下方但已禁用。

启用这些存储库以开始搜索它们。