triangle-exclamation
We are still in development! Please wait until we release the first official version!

git-altGit 集成

Git 集成目前仅在 ayaka-notes/overleafarrow-up-right 可用。

1

启用 git-bridge(Toolkit)

如果您正在使用 Toolkit,请通过在您的 git-bridge 中设置以下内容来启用 config/overleaf.rc:

config/overleaf.rc
GIT_BRIDGE_ENABLED=true
2

添加 git-bridge 容器(docker-compose)

对于运行自定义 docker-compose.yml的用户,请将以下容器配置添加到您的 compose 文件:

docker-compose.yml(git-bridge 服务)
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # 标签应与 `sharelatex` 容器标签匹配
    volumes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    environment:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" # 对于 4.1.6 及更早版本为 "http://sharelatex/api/v0/"
        GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
        GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
        GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
    user: root
    command: ["/server-pro-start.sh"]
3

更新 sharelatex 容器配置

您还需要在 git-bridgesharelatex 容器中链接该容器并定义以下环境变量,请注意 V2_HISTORY_URL:

docker-compose.yml(sharelatex 服务)
sharelatex:
    links:
        - git-bridge
    environment:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
         V2_HISTORY_URL: "http://sharelatex:3054"
4

身份验证

在对 git 客户端进行身份验证时,用户需要个人访问令牌。用户可以通过应用程序 UI 管理个人访问令牌(参见文档):

Git 集成个人访问令牌
5

监控和资源注意事项

我们建议在启用 git-bridge后监控主机资源。负载增加将取决于:

  • 访问该功能的用户数量

  • 在您的实例中托管的项目类型(较大的项目通常更耗资源)

将项目交换到 S3

Git 集成会为每个被用户克隆的项目在磁盘上存储完整的 git 仓库。如果您的磁盘空间有限,可以启用一个交换任务,将使用较少的仓库移动到 AWS S3。如果再次需要已交换的仓库,它会被移回磁盘。以下环境变量控制交换任务:

名称
说明

GIT_BRIDGE_SWAPSTORE_TYPE

将此设置为 "s3" 以激活交换任务。

GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY

您的 AWS 访问密钥

GIT_BRIDGE_SWAPSTORE_AWS_SECRET

您的 AWS 密钥(secret)

GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME

此存储桶将包含已压缩的 git 仓库

GIT_BRIDGE_SWAPSTORE_AWS_REGION

存储桶所在区域

GIT_BRIDGE_SWAPJOB_MIN_PROJECTS

在磁盘上保留的最少项目数量。 - 默认: 50

GIT_BRIDGE_SWAPJOB_LOW_GIB

交换的低水位标记。交换任务将移动项目,直到磁盘使用量低于此值。 - 默认: 128 GB

GIT_BRIDGE_SWAPJOB_HIGH_GIB

交换的高水位标记。当磁盘使用量达到此值时,交换任务将开始交换。 - 默认: 256 GB

GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS

检查磁盘使用情况并运行交换任务之间的时间间隔。 - 默认: 3600000 ms = 1 小时

最后更新于