Coolify logoCoolify

GitLab 集成

公共仓库

您可以直接使用公共仓库,无需进行额外设置。

  1. 在 Coolify 中创建新资源时,选择 Public repository(公共仓库)选项。
  2. 在输入框中添加您的仓库 URL,例如:https://gitlab.com/andrasbacsai/coolify-examples

注意

您只能使用 HTTPS URL。

  1. 完成!Coolify 将自动拉取您仓库的最新版本并进行部署。

私有仓库

私有仓库需要一些额外的设置步骤。

  1. 在 Settings(设置)/ Repository(仓库)/ Deploy Keys(部署密钥)菜单中,将私钥(也称为 Deploy Keys)添加到 Coolify 和您的 GitLab 仓库。

注意

  • 您可以使用以下命令生成新的密钥对:
ssh-keygen -t rsa -b 4096 -C "deploy_key"
  • 或者,您也可以使用 Coolify 在 Keys & Tokens(密钥和令牌)菜单中为您生成新密钥。
  1. 创建新资源并选择 Private Repository (with deploy key)(私有仓库(使用部署密钥))。
  2. 在输入框中添加您的仓库 URL,例如:git@gitlab.com:andrasbacsai/coolify-examples.git

注意

您需要使用 SSH URL,即以 git@ 开头的那个。

  1. 完成!Coolify 将自动拉取您仓库的最新版本并进行部署。

公共容器注册表

您可以直接使用公共容器注册表,无需进行额外设置。

  1. 在 Coolify 中创建新资源时,选择 Docker Image(Docker 镜像)选项。
  2. 在输入框中添加您的公共容器注册表 URL 以及标签,例如:registry.gitlab.com/username/repository:latest。
  3. 按下 Deploy(部署)按钮。
  4. 完成!Coolify 将自动拉取您容器注册表中的最新版本并进行部署。

私有容器注册表

私有容器注册表需要一些额外的设置步骤。

  1. 在 GitLab 仓库的 Settings(设置)/ Repository(仓库)/ Deploy Token(部署令牌)中,添加一个作用域为 read_registry 的 Deploy Token(部署令牌)。此步骤将生成凭据 username(用户名)和 token(令牌)。
  2. 在您的 Coolify 服务器上使用该凭据登录 Docker
echo "token-xxx" | docker login registry.privategitlab.com -u gitlab+deploy-token-xxx --password-stdin
  1. 在 Coolify 中创建新资源时,选择 Docker Image(Docker 镜像)选项。
  2. 在输入框中添加您的私有容器注册表 URL 以及标签,例如:registry.privategitlab.com/username/repository:latest。
  3. 按下 Deploy(部署)按钮。
  4. 完成!Coolify 将自动拉取您容器注册表中的最新版本并进行部署。

使用 Webhook 实现自动提交部署(可选)

您可以为您的 GitLab 仓库添加自定义 Webhook URL,以便在推送到仓库时触发新的部署。

注意

此设置既适用于公共仓库,也适用于私有仓库。

在您的资源中,有一个 Webhooks(Webhook)菜单。在 Manual Git Webhooks(手动 Git Webhook)部分,您可以找到需要在 GitLab 仓库中设置的 URL。

  1. 在 GitLab Webhook Secret(GitLab Webhook 密钥)输入框中设置一个密钥。
  2. 前往 GitLab 中的您的仓库并打开 Settings(设置)/ Webhooks(Webhook)菜单。
  3. 将来自 Coolify 的 URL 添加到 URL(URL)输入框以及密钥令牌中。
  4. 选择 Push events(推送事件)选项。
  5. 完成!现在,当您推送到仓库时,GitLab 将向 Coolify 发送 Webhook 请求,从而触发新的部署。

使用 Webhook 实现合并请求部署(可选)

您可以为您的 GitLab 仓库添加自定义 Webhook URL,以便在创建新的合并请求时触发新的部署。

注意

此设置既适用于公共仓库,也适用于私有仓库。

流程与上述相同,但您需要在 Settings(设置)/ Webhooks(Webhook)菜单中选择 Merge request events(合并请求事件)选项。

On this page