Gitlab 安装与使用
安装
docker search gitlab/gitlab-ce #查找 centos 镜像
docker pull gitlab/gitlab-ce:latest #拉取
docker images |grep gitlab #查看已拉取镜像
#不映射80端口,是因为后面需要修改外部访问地址到5180
docker run --privileged --name gitlab \
-p 5143:443 -p 5180:5180 -p 2224:22 \
-v /volume3/docker/gitlab/config:/etc/gitlab \
-v /volume3/docker/gitlab/log:/var/log/gitlab \
-v /volume3/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
docker ps |grep gitlab #查看已运行容器
修改 gitlab 配置:
gitlab 第一次启动需要比较长时间初始化,等初始化完成后修改配置文件。
修改主机挂载的目录下的文件,如/volume3/docker/gitlab/config/gitlab.rb 文件。
修改以下配置:
#外部访问地址,和映射的容器内部端口一致
external_url 'http://192.168.3.8:5180'
#ssh主机和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.3.8'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#发邮件相关配置,如 qq 邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '[email protected]'
配置生效:
docker exec -it gitlab /bin/bash #进入容器
gitlab-ctl reconfigure #配置生效
gitlab-ctl restart #重启
使用
- 根据主机 IP 和映射端口,访问 gitlab 页面,如:http://192.168.3.8:5180。
- 首次登录用户名 root,密码在配置目录下的文件 initial_root_password
- 在Preferences/Localization/Language 配置下,选择中文语言,刷新页面生效。
- 修改管理员用户名、密码。
- 配置邮箱,用于接收 gitlab 发送的邮件。
- 配置 SSH 公钥,用于 git 仓库的访问。
#在需要访问 gitlab 的机器上执行
#生成 SSH 密钥
ssh-keygen -t rsa -C "[email protected]"
#将公钥添加到 gitlab
cat ~/.ssh/id_rsa.pub
#复制公钥到 gitlab 管理页面
k8s 中安装 agent
在 gitlab 中添加 kubernetes 集群,会生成 shell 脚本。
修改 gitlab 访问地址,然后到k8s 集群中用执行脚本。
helm repo add gitlab https://charts.gitlab.io
helm repo update
helm upgrade --install nas-share gitlab/gitlab-agent \
--namespace gitlab-agent-nas-share \
--create-namespace \
--set image.tag=v16.4.0 \
--set config.token=glagent-xii4ZuJsM-rqg4xiweszFHM3AmmLfHkx_yCDbP2TZoK4iuLE6Q \
--set config.kasAddress=ws://192.168.3.8:5180/-/kubernetes-agent/
# 如果需要卸载
helm uninstall nas-share --namespace gitlab-agent-nas-share
k8s 中安装 runner
在 gitlab 中添加 runner,获得 token。
在 k8s节点下执行。
helm repo add gitlab https://charts.gitlab.io
helm repo update
helm install gitlab-runner \
--namespace=gitlab-runner \
--create-namespace \
--set gitlabUrl=http://192.168.3.8:5180 \
--set runnerToken=glrt-FpaYVBAn4DffcgEpJhy8 \
--set rbac.create=true \
--set rbac.clusterWideAccess=true \
gitlab/gitlab-runner