GitLab 集成
公共仓库
您可以直接使用公共仓库,无需进行额外设置。
- 在 Coolify 中创建新资源时,选择
Public repository(公共仓库)选项。 - 在输入框中添加您的仓库 URL,例如:
https://gitlab.com/andrasbacsai/coolify-examples
注意
您只能使用 HTTPS URL。
- 完成!Coolify 将自动拉取您仓库的最新版本并进行部署。
私有仓库
私有仓库需要一些额外的设置步骤。
- 在
Settings(设置)/Repository(仓库)/Deploy Keys(部署密钥)菜单中,将私钥(也称为Deploy Keys)添加到 Coolify 和您的 GitLab 仓库。
注意
- 您可以使用以下命令生成新的密钥对:
ssh-keygen -t rsa -b 4096 -C "deploy_key"- 或者,您也可以使用 Coolify 在
Keys & Tokens(密钥和令牌)菜单中为您生成新密钥。
- 创建新资源并选择
Private Repository (with deploy key)(私有仓库(使用部署密钥))。 - 在输入框中添加您的仓库 URL,例如:
git@gitlab.com:andrasbacsai/coolify-examples.git
注意
您需要使用 SSH URL,即以 git@ 开头的那个。
- 完成!Coolify 将自动拉取您仓库的最新版本并进行部署。
公共容器注册表
您可以直接使用公共容器注册表,无需进行额外设置。
- 在 Coolify 中创建新资源时,选择
Docker Image(Docker 镜像)选项。 - 在输入框中添加您的公共容器注册表 URL 以及标签,例如:
registry.gitlab.com/username/repository:latest。 - 按下
Deploy(部署)按钮。 - 完成!Coolify 将自动拉取您容器注册表中的最新版本并进行部署。
私有容器注册表
私有容器注册表需要一些额外的设置步骤。
- 在 GitLab 仓库的
Settings(设置)/Repository(仓库)/Deploy Token(部署令牌)中,添加一个作用域为read_registry的Deploy Token(部署令牌)。此步骤将生成凭据username(用户名)和token(令牌)。 - 在您的 Coolify 服务器上使用该凭据登录 Docker
echo "token-xxx" | docker login registry.privategitlab.com -u gitlab+deploy-token-xxx --password-stdin- 在 Coolify 中创建新资源时,选择
Docker Image(Docker 镜像)选项。 - 在输入框中添加您的私有容器注册表 URL 以及标签,例如:
registry.privategitlab.com/username/repository:latest。 - 按下
Deploy(部署)按钮。 - 完成!Coolify 将自动拉取您容器注册表中的最新版本并进行部署。
使用 Webhook 实现自动提交部署(可选)
您可以为您的 GitLab 仓库添加自定义 Webhook URL,以便在推送到仓库时触发新的部署。
注意
此设置既适用于公共仓库,也适用于私有仓库。
在您的资源中,有一个 Webhooks(Webhook)菜单。在 Manual Git Webhooks(手动 Git Webhook)部分,您可以找到需要在 GitLab 仓库中设置的 URL。
- 在
GitLab Webhook Secret(GitLab Webhook 密钥)输入框中设置一个密钥。 - 前往 GitLab 中的您的仓库并打开
Settings(设置)/Webhooks(Webhook)菜单。 - 将来自 Coolify 的 URL 添加到
URL(URL)输入框以及密钥令牌中。 - 选择
Push events(推送事件)选项。 - 完成!现在,当您推送到仓库时,GitLab 将向 Coolify 发送 Webhook 请求,从而触发新的部署。
使用 Webhook 实现合并请求部署(可选)
您可以为您的 GitLab 仓库添加自定义 Webhook URL,以便在创建新的合并请求时触发新的部署。
注意
此设置既适用于公共仓库,也适用于私有仓库。
流程与上述相同,但您需要在 Settings(设置)/ Webhooks(Webhook)菜单中选择 Merge request events(合并请求事件)选项。
