你问的“Linux GitLab 怎么集成”,通常指在 Linux 服务器上部署 GitLab,并与其他工具/流程集成。下面我按最常见场景给你一个清晰、可落地的说明。
推荐系统:
最低配置:
sudo apt update
sudo apt install -y curl openssh-server ca-certificates postfix
添加 GitLab 源:
curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/setup.sh | sudo bash
安装 GitLab:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ce
如果是内网,可写 IP:
sudo EXTERNAL_URL="http://192.168.1.100" apt install gitlab-ce
sudo gitlab-ctl reconfigure
浏览器访问:
http://服务器IP
首次登录账号:root
密码在:
cat /etc/gitlab/initial_root_password
无需额外安装 GitLab 自带 Runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt install gitlab-runner
sudo gitlab-runner register
填写:
shell 或 docker.gitlab-ci.ymlstages:
- build
- test
build_job:
stage: build
script:
- echo "building..."
修改配置:
sudo vi /etc/gitlab/gitlab.rb
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'LDAP',
'host' => 'ldap.example.com',
'port' => 389,
'uid' => 'sAMAccountName',
'bind_dn' => 'cn=admin,dc=example,dc=com',
'password' => 'password',
'base' => 'dc=example,dc=com'
}
}
sudo gitlab-ctl reconfigure
路径:
项目 → Settings → Webhooks
示例(Push 事件):
http://jenkins.example.com/gitlab-webhook/
触发事件勾选:
方式一:Webhook
方式二:CI 脚本
notify:
script:
- curl -X POST https://oapi.dingtalk.com/robot/send?access_token=xxx \
-H 'Content-Type: application/json' \
-d '{"msgtype":"text","text":{"content":"构建完成"}}'
sudo gitlab-runner register
# 执行器选 docker
# 默认镜像:docker:latest
Admin → Kubernetes → Add cluster
gitlab-ctl status
gitlab-ctl restart
gitlab-ctl tail
gitlab-rake gitlab:check
你可以直接告诉我:
我可以给你具体配置文件 + 示例。